[Bug report] scsi: advansys: module init fails if ISA_BUS_API is not set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(If you reply from the mailing list, please Cc me, I am not subscribed)

Dear kernel maintainers and developers,

With a kernel configuration resulting in ISA_BUS_API being unset (as in Debian amd64 kernels), loading the advansys module fails:

# modprobe advansys
modprobe: ERROR: could not insert 'advansys': No such device

advansys_init() calls isa_register_driver() which returns -ENODEV when CONFIG_ISA_BUS_API is not defined.

Commit 9b4c8eaa68d0ce85be4ae06cbbd158c53f66fe4f "advansys: remove ISA support" in Linux 5.13 did not remove the call to isa_register_driver() for the VLB driver, so the issue remains.

What is the proper way to fix this ?

a) In drivers/scsi/Kconfig
add "select ISA_BUS_API" to SCSI_ADVANSYS dependencies.

b) In include/linux/isa.h
make isa_register_driver() return 0 instead of -ENODEV if ISA_BUS_API is unset. Rationale: eisa_register_driver() and pci_register_driver() return 0 if EISA or PCI respectively is unset.

c) In drivers/scsi/advansys.c
make advansys_init() return failure only if all {isa,eisa,pci}_register_driver() calls return failure.

d) In drivers/scsi/advansys.c
remove VLB support in kernel >= 5.13.
Rationale: VLB is an extension of the ISA bus, can it work without ISA support ? Besides, I believe that VLB disappeared before ISA, it was specific to i486 motherboards while ISA lasted at least up to Pentium III motherboards.

e) In drivers/scsi/advansys.c
conditionally build ISA/VLB support only if ISA_BUS_API is set.

f) other ?



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux