Messages in this thread | | | Date | Sun, 12 May 2002 22:50:01 -0700 | From | Matthew Derer <> | Subject | 2.4.18: aic7xxx soft reboot broken |
| |
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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |