| From 4dc2757a2e9a9d1f2faee4fc6119276fc0061c16 Mon Sep 17 00:00:00 2001 |
| From: Kashyap, Desai <kashyap.desai@lsi.com> |
| Date: Tue, 4 Jan 2011 11:32:13 +0530 |
| Subject: [SCSI] mpt2sas: Fix device removal handshake for zoned devices |
| |
| From: Kashyap, Desai <kashyap.desai@lsi.com> |
| |
| commit 4dc2757a2e9a9d1f2faee4fc6119276fc0061c16 upstream. |
| |
| When zoning end devices, the driver is not sending device |
| removal handshake alogrithm to firmware. This results in controller |
| firmware not sending sas topology add events the next time the device is |
| added. The fix is the driver should be doing the device removal handshake |
| even though the PHYSTATUS_VACANT bit is set in the PhyStatus of the |
| event data. The current design is avoiding the handshake when the |
| VACANT bit is set in the phy status. |
| |
| Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> |
| Signed-off-by: James Bottomley <James.Bottomley@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/scsi/mpt2sas/mpt2sas_scsih.c | 3 --- |
| 1 file changed, 3 deletions(-) |
| |
| --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c |
| +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c |
| @@ -2585,9 +2585,6 @@ _scsih_check_topo_delete_events(struct M |
| u16 handle; |
| |
| for (i = 0 ; i < event_data->NumEntries; i++) { |
| - if (event_data->PHY[i].PhyStatus & |
| - MPI2_EVENT_SAS_TOPO_PHYSTATUS_VACANT) |
| - continue; |
| handle = le16_to_cpu(event_data->PHY[i].AttachedDevHandle); |
| if (!handle) |
| continue; |