Skip to contentSkip to conversation

2.4.18: aic7xxx soft reboot broken

DISCUSSION Matthew Derer 1 participant 1 message May 13, 2002

lore
Share & tools
lore
#0 lore raw

I recently upgraded to a 2.4.18 kernel on a machine with an Adaptec 2940AU SCSI controller. Since the upgrade, soft reboots don't work; the machine appears to shut down normally, but during the subsequent boot the SCSI BIOS reports a timeout on an inquiry command and is unable to find any drives on the bus. A hard power cycle is required to restore the card to a state in which it can find the drives.

Problem seems to be that the reboot notifier for the new aic7xxx driver is registered in aic7xxx_setup, which only gets called when there are module or kernel command-line params for aic7xxx. Without reboot notification and cleanup, the card is left in a bad state at shutdown, and BIOS does not appear to clean it up during boot.

I think other people have run into the same problem:

http://groups.google.com/groups?selm=20010811.180158.1012502954.2309%40omit.nonsense.bigfoot.com

Workaround is obvious, just feed the module any param to get the notification registered, like aic7xxx=verbose, then soft reboots work just fine. Fix would be to register the notifier whether there are params or not. Also wouldn't hurt to check for SYS_POWER_OFF as well as SYS_HALT and SYS_DOWN when handling the notify, SYS_POWER_OFF can result in a halt without actually powering off on some machines.

Matthew