Hi Mark Thanks for your fix. You can add my acked. Acked-by: Jack Wang <jack_wang@xxxxxxxxx>. Ps, your signed-off-by mail addr is not same with your sender mail address, is this a mistake? Re [PATCH] [SCSI] pm8001 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. > > The real patch is enclosed as an attachment since Outlook is my current > MTA. > > Signed-off-by: Mark Salyzyn <mark_salyzyn@xxxxxxxxxxxxxxxx> > Cc: James Bottomley <jbottomley@xxxxxxxxxxxxx> > Cc: Jack Wang <jack_wang@xxxxxxxxx> > > pm8001_sas.c | 15 +-------------- > 1 file changed, 1 insertion(+), 14 deletions(-) > > diff -ru scsi-misc-2.6/drivers/scsi/pm8001/pm8001_sas.c > scsi-misc-2.6.new/drivers/scsi/pm8001/pm8001_sas.c > --- scsi-misc-2.6/drivers/scsi/pm8001/pm8001_sas.c 2011-08-31 > 08:32:21.000000000 -0400 > +++ scsi-misc-2.6.new/drivers/scsi/pm8001/pm8001_sas.c 2011-09-22 > 11:36:24.000000000 -0400 > @@ -385,21 +385,8 @@ > do { > dev = t->dev; > pm8001_dev = dev->lldd_dev; > - if (DEV_IS_GONE(pm8001_dev)) { > - if (pm8001_dev) { > - PM8001_IO_DBG(pm8001_ha, > - pm8001_printk("device %d not > ready.\n", > - pm8001_dev->device_id)); > - } else { > - PM8001_IO_DBG(pm8001_ha, > - pm8001_printk("device %016llx > not " > - "ready.\n", > SAS_ADDR(dev->sas_addr))); > - } > - rc = SAS_PHY_DOWN; > - goto out_done; > - } > port = &pm8001_ha->port[sas_find_local_port_id(dev)]; > - if (!port->port_attached) { > + if (DEV_IS_GONE(pm8001_dev) || !port->port_attached) { > if (sas_protocol_ata(t->task_proto)) { > struct task_status_struct *ts = > &t->task_status; > ts->resp = SAS_TASK_UNDELIVERED; > > ______________________________________________________________________ > This email may contain privileged or confidential information, which should > only be used for the purpose for which it was sent by Xyratex. No further rights > or licenses are granted to use such information. If you are not the intended > recipient of this message, please notify the sender by return and delete it. > You may not use, copy, disclose or rely on the information contained in it. > > Internet email is susceptible to data corruption, interception and > unauthorised amendment for which Xyratex does not accept liability. While we > have taken reasonable precautions to ensure that this email is free of viruses, > Xyratex does not accept liability for the presence of any computer viruses in > this email, nor for any losses caused as a result of viruses. > > Xyratex Technology Limited (03134912), Registered in England & Wales, > Registered Office, Langstone Road, Havant, Hampshire, PO9 1SA. > > The Xyratex group of companies also includes, Xyratex Ltd, registered in > Bermuda, Xyratex International Inc, registered in California, Xyratex > (Malaysia) Sdn Bhd registered in Malaysia, Xyratex Technology (Wuxi) Co Ltd > registered in The People's Republic of China and Xyratex Japan Limited > registered in Japan. > ______________________________________________________________________ > > -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html