summaryrefslogtreecommitdiff
path: root/drivers/scsi/Kconfig
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2022-06-24 17:52:24 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2022-06-27 22:52:05 -0400
commit9f7c2232e131b1de2ee4abadfce5d8f010e223c6 (patch)
treefe30dd10c124b630ff0ceffdb02a93f6b9845795 /drivers/scsi/Kconfig
parent07f0c8aff55156e0ef671fdc87bb44207cfc4f56 (diff)
scsi: BusLogic: Remove bus_to_virt()
The BusLogic driver is the last remaining driver that relies on the deprecated bus_to_virt() function, which in turn only works on a few architectures, and is incompatible with both swiotlb and iommu support. Before commit 391e2f25601e ("[SCSI] BusLogic: Port driver to 64-bit."), the driver had a dependency on x86-32, presumably because of this problem. However, the change introduced another bug that made it still impossible to use the driver on any 64-bit machine. This was in turn fixed in commit 56f396146af2 ("scsi: BusLogic: Fix 64-bit system enumeration error for Buslogic"), 8 years later, which shows that there are not a lot of users. Maciej is still using the driver on 32-bit hardware, and Khalid mentioned that the driver works with the device emulation used in VirtualBox and VMware. Both of those only emulate it for Windows 2000 and older operating systems that did not ship with the better LSI logic driver. Do a minimum fix that searches through the list of descriptors to find one that matches the bus address. This is clearly as inefficient as was indicated in the code comment about the lack of a bus_to_virt() replacement. A better fix would likely involve changing out the entire descriptor allocation for a simpler one, but that would be much more invasive. Link: https://lore.kernel.org/r/20220624155226.2889613-2-arnd@kernel.org Cc: Maciej W. Rozycki <macro@orcam.me.uk> Cc: Matt Wang <wwentao@vmware.com> Tested-by: Khalid Aziz <khalid@gonehiking.org> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Acked-by: Khalid Aziz <khalid@gonehiking.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/Kconfig')
-rw-r--r--drivers/scsi/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index a9fe5152addd..64a35d160e2d 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -513,7 +513,7 @@ config SCSI_HPTIOP
config SCSI_BUSLOGIC
tristate "BusLogic SCSI support"
- depends on PCI && SCSI && VIRT_TO_BUS
+ depends on PCI && SCSI
help
This is support for BusLogic MultiMaster and FlashPoint SCSI Host
Adapters. Consult the SCSI-HOWTO, available from