aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>2017-02-22 10:23:13 -0500
committerMartin K. Petersen <martin.petersen@oracle.com>2017-02-23 17:02:15 -0500
commita56e574067c20d01d8fc74863fa187dd66da7b94 (patch)
treeb566bc4029344fec190ef786331ac2b425b99a45
parent1d55abc0e98a0bf35f3af80665aac564e3b30572 (diff)
scsi: aacraid: Fixed expander hotplug for SMART family
Current driver Hotplug processing code skips over Enclosure channel, therefore any addition/removal of expander enclosure is not processed. Additionally device addition code relies on older device type, which prevents the hotplug of adapter expanders. Fixed by removing code that skips over Enclosure channels and using the latest device type for addition or removal or enclosure expanders. Fixes: 6223a39fe6fbbeef (scsi: aacraid: Added support for hotplug) Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: Dave Carroll <david.carroll@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/aacraid/commsup.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
index a2ea70d8a13a..1994c7445b54 100644
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -1908,9 +1908,6 @@ static void aac_resolve_luns(struct aac_dev *dev)
1908 for (bus = 0; bus < AAC_MAX_BUSES; bus++) { 1908 for (bus = 0; bus < AAC_MAX_BUSES; bus++) {
1909 for (target = 0; target < AAC_MAX_TARGETS; target++) { 1909 for (target = 0; target < AAC_MAX_TARGETS; target++) {
1910 1910
1911 if (aac_phys_to_logical(bus) == ENCLOSURE_CHANNEL)
1912 continue;
1913
1914 if (bus == CONTAINER_CHANNEL) 1911 if (bus == CONTAINER_CHANNEL)
1915 channel = CONTAINER_CHANNEL; 1912 channel = CONTAINER_CHANNEL;
1916 else 1913 else
@@ -1922,7 +1919,7 @@ static void aac_resolve_luns(struct aac_dev *dev)
1922 sdev = scsi_device_lookup(dev->scsi_host_ptr, channel, 1919 sdev = scsi_device_lookup(dev->scsi_host_ptr, channel,
1923 target, 0); 1920 target, 0);
1924 1921
1925 if (!sdev && devtype) 1922 if (!sdev && new_devtype)
1926 scsi_add_device(dev->scsi_host_ptr, channel, 1923 scsi_add_device(dev->scsi_host_ptr, channel,
1927 target, 0); 1924 target, 0);
1928 else if (sdev && new_devtype != devtype) 1925 else if (sdev && new_devtype != devtype)