diff options
author | Hannes Reinecke <hare@suse.de> | 2017-08-24 08:52:43 -0400 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-08-25 17:32:42 -0400 |
commit | ee3e2d8392f695343d2fdfd43e881d14fb406d24 (patch) | |
tree | c8ce1dace4bbb25e43f8c898c1068619bc07510a /drivers/message/fusion/mptsas.c | |
parent | 7988faf525498170aff8a11005de50a3bc589ba4 (diff) |
scsi: mptsas: Fixup device hotplug for VMWare ESXi
VMWare ESXi emulates an mptsas HBA, but exposes all drives as
direct-attached SAS drives. This it not how the driver originally
envisioned things; SAS drives were supposed to be connected via an
expander, and only SATA drives would be direct attached. As such, any
hotplug event for direct-attach SAS drives was silently ignored, and the
guest failed to detect new drives from within a VMWare ESXi environment.
[mkp: typos]
Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1030850
Signed-off-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/message/fusion/mptsas.c')
-rw-r--r-- | drivers/message/fusion/mptsas.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index f6308ad35b19..42ee70c23d9f 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
@@ -4352,11 +4352,10 @@ mptsas_hotplug_work(MPT_ADAPTER *ioc, struct fw_event_work *fw_event, | |||
4352 | return; | 4352 | return; |
4353 | 4353 | ||
4354 | phy_info = mptsas_refreshing_device_handles(ioc, &sas_device); | 4354 | phy_info = mptsas_refreshing_device_handles(ioc, &sas_device); |
4355 | /* Only For SATA Device ADD */ | 4355 | /* Device hot plug */ |
4356 | if (!phy_info && (sas_device.device_info & | 4356 | if (!phy_info) { |
4357 | MPI_SAS_DEVICE_INFO_SATA_DEVICE)) { | ||
4358 | devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT | 4357 | devtprintk(ioc, printk(MYIOC_s_DEBUG_FMT |
4359 | "%s %d SATA HOT PLUG: " | 4358 | "%s %d HOT PLUG: " |
4360 | "parent handle of device %x\n", ioc->name, | 4359 | "parent handle of device %x\n", ioc->name, |
4361 | __func__, __LINE__, sas_device.handle_parent)); | 4360 | __func__, __LINE__, sas_device.handle_parent)); |
4362 | port_info = mptsas_find_portinfo_by_handle(ioc, | 4361 | port_info = mptsas_find_portinfo_by_handle(ioc, |