[SCSI] ipr: Fix for oops following SATA request sense
authorBrian King <brking@linux.vnet.ibm.com>
Thu, 29 Mar 2007 17:43:17 +0000 (12:43 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sun, 1 Apr 2007 16:17:22 +0000 (11:17 -0500)
commit24d6f2b50bd34d0da540a9e6f71c4b6ab25f4b93
tree0242527fe42d4d03c899ce2ef5798b072b9309d1
parentb0692dd4d7e90ce5cf1241731c6e80118402e3b4
[SCSI] ipr: Fix for oops following SATA request sense

This patch fixes a problem discovered on a system with some
bad SATA devices attached. If a command to a SATAPI device
times out and the device gets reset as part of error recovery,
its possible that ipr will set err_mask to indicate a device
error has occurred. If this happens, a request sense will get
issued by libata. Since scsi core thinks this scsi command is
now completed, because the device reset handler completed successfully,
scsi core will free the associated scsi command, which may
cause an oops when that request sense is completed later
by ipr. This patch ensures that any commands that get aborted
as a result of a device reset set err_mask appropriately so
that the request sense does not get sent.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/ipr.c