On Tue, 14 Jul 2020, James Bottomley wrote:That's not really the point; this function is the first stage of error recovery. And the only real way of exercising this is to inject a command timeout, which is nearly impossible without dedicated hardware.
On Tue, 2020-07-14 at 09:46 +0200, Hannes Reinecke wrote:
On 7/13/20 10:00 AM, Lee Jones wrote:
Haven't been used since 2006.
Fixes the following W=1 kernel build warning(s):
drivers/scsi/aic7xxx/aic79xx_osm.c: In function
âahd_linux_queue_abort_cmdâ:
drivers/scsi/aic7xxx/aic79xx_osm.c:2155:17: warning: variable
âsaved_modesâ set but not used [-Wunused-but-set-variable]
drivers/scsi/aic7xxx/aic79xx_osm.c:2148:9: warning: variable
âsaved_scsiidâ set but not used [-Wunused-but-set-variable]
Cc: Hannes Reinecke <hare@xxxxxxxx>
Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
---
drivers/scsi/aic7xxx/aic79xx_osm.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c
b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 3782a20d58885..140c4e74ddd7e 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -2141,14 +2141,12 @@ ahd_linux_queue_abort_cmd(struct scsi_cmnd
*cmd)
u_int saved_scbptr;
u_int active_scbptr;
u_int last_phase;
- u_int saved_scsiid;
u_int cdb_byte;
int retval;
int was_paused;
int paused;
int wait;
int disconnected;
- ahd_mode_state saved_modes;
unsigned long flags;
pending_scb = NULL;
@@ -2239,7 +2237,6 @@ ahd_linux_queue_abort_cmd(struct scsi_cmnd
*cmd)
goto done;
}
- saved_modes = ahd_save_modes(ahd);
ahd_set_modes(ahd, AHD_MODE_SCSI, AHD_MODE_SCSI);
last_phase = ahd_inb(ahd, LASTPHASE);
saved_scbptr = ahd_get_scbptr(ahd);
@@ -2257,7 +2254,6 @@ ahd_linux_queue_abort_cmd(struct scsi_cmnd
*cmd)
* passed in command. That command is currently active on
the
* bus or is in the disconnected state.
*/
- saved_scsiid = ahd_inb(ahd, SAVED_SCSIID);
if (last_phase != P_BUSFREE
&& SCB_GET_TAG(pending_scb) == active_scbptr) {
Reviewed-by: Hannes Reinecke <hare@xxxxxxx>
Hey, you don't get to do that ... I asked you to figure out why we're
missing an ahd_restore_modes(). Removing the ahd_save_modes() is
cosmetic: it gets rid of a warning but doesn't fix the problem. I'd
rather keep the warning until the problem is fixed and the problem is
we need a mode save/restore around the ahd_set_modes() which is only
partially implemented in this function.
I had a look. Traced it back to the dawn of time (time == Git), then
delved even further back by downloading and trawling through ~10-15
tarballs. It looks as though drivers/scsi/aic7xxx/aic79xx_osm.c was
upstreamed in v2.5.60, nearly 20 years ago. 'saved_modes' has been
unused since at least then. If no one has complained in 2 decades,
I'd say it probably isn't an issue worth perusing.