Mark Salyzyn b90b378ad5 [SCSI] pm8001: fix DEV_IS_GONE infinite retry
On the pm8001, when a device is in the process of going away (device
power off or hot plug), depending on the timing, the driver would return
SAS_PHY_DOWN as the return value to the queuecommand DEV_IS_GONE logic.
The net result is an near infinite retry (especially if SAS debugging is
enabled), the logs will fill with:

kernel: mpi_ssp_completion 2119:e21:SSP IO status 0x13 tag 0xcc1c0000
dlen=90 param=0xe
kernel: wwn=5000c50034069e86  cdb=12 00 00 00 5a 00 00 00 00 00 00 00 00
00 00 00
kernel: sas: lldd_execute_task returned: 138
kernel: sas: lldd_execute_task returned: 138
kernel: sas: lldd_execute_task returned: 138
kernel: sas: lldd_execute_task returned: 138
kernel: sas: lldd_execute_task returned: 138
kernel: sas: lldd_execute_task returned: 138
kernel: sas: lldd_execute_task returned: 138
. . .

This patch changes to leverage the port_attached logic to complete the
command with a status of PHY_DOWN so that the disposition can be handled
immediately and correctly.

Signed-off-by: Mark Salyzyn <mark_salyzyn@us.xyratex.com>
Acked-by: Jack Wang <jack_wang@usish.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2011-10-02 13:03:22 -05:00
..
2011-08-05 22:16:42 -04:00
2011-07-26 16:49:47 -07:00
2011-07-28 01:30:07 -07:00
2011-08-11 10:14:18 -07:00
2011-08-13 14:50:32 -04:00
2011-07-26 16:49:47 -07:00
2011-07-25 21:00:19 -07:00
2011-07-26 16:49:47 -07:00
2011-08-16 07:22:16 -07:00
2011-08-07 15:51:45 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-08-16 07:23:34 -07:00