Bug 16579

Summary: ahci.skip_host_reset=1 do not work anymore starting from 2.6.35 (regression)
Product: IO/Storage Reporter: Rus (harbour)
Component: Serial ATAAssignee: Tejun Heo (tj)
Status: CLOSED INVALID    
Severity: blocking CC: cebbert, maciej.rutecki, rjw, tj
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.35 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 16055    

Description Rus 2010-08-13 09:19:26 UTC
Hi,

After switching to 2.6.35 the kernel command option ahci.skip_host_reset do not work. I have Acer Ferrari 1100 laptop that unlock the password protected HDD by the BIOS password entering system. So this option prevent kernel from resetting the HDD, so it can mount the rootfs. But starting from 2.6.35 the kernel resets HDD, so as it is became password protected again no rootfs can be mounted, so kernel panics while trying to mount the rootfs. Switching back to 2.6.34 or removing the password from HDD lets to normal boot again.
 Can supply any additional info.

P.S. The laptop do not have the serial port, so serial console is not available.

Rus
Comment 1 Chuck Ebbert 2010-09-01 06:24:27 UTC
What does /sys/module/ahci/parameters/skip_host_reset contain after you boot with ahci.skip_host_reset=1 ?
Comment 2 Rus 2010-09-01 08:36:26 UTC
AHCI compiled in kernel, so such file does not exists.

[Hors]:rus:~ # cat /sys/module/ahci/parameters/skip_host_reset
cat: /sys/module/ahci/parameters/skip_host_reset: No such file or directory

....

[Hors]:rus:~ # cat /proc/cmdline 
auto BOOT_IMAGE=Linux ro root=802 resume=/dev/sda1 vt.default_utf8=0 libata.force=1:nohrst ahci.skip_host_reset=1 noirqbalance panic=30 memory_corruption_check=1
Comment 3 Tejun Heo 2010-09-01 08:37:10 UTC
The module got split into libahci.ko and ahci.ko to support
ahci_platform.ko, so the module parameter should now be
libahci.skip_host_reset.  That said, if the drive doesn't remember the
unlocked state over link resets (it's called Software Setting
Preservation and enabled by default on modern drives), it doesn't have
much chance of operating reliably.  In SATA, link resets may happen
involuntarily and the drive would lock up during operation.

Thanks.
Comment 4 Tejun Heo 2010-09-01 08:44:56 UTC
Resolving as invalid.  Sorry about the inconvenience.
Comment 5 Rus 2010-09-01 09:27:48 UTC
Thanks, changing the parapmeter to libahci.skip_host_reset fixes the issue.

About possible drive lockup during link reset - I thought that the libahci.skip_host_reset option was created just for such cases - the reset must be skipped and not passed to the drive, isn't it ?
Comment 6 Tejun Heo 2010-09-12 20:32:32 UTC
Well, the parameter makes the driver avoid hardreset during probing but nothing can prevent asynchronous phy events from happening.  Such events aren't too frequent but they definitely can happen.  Security lock without ssp on SATA is simply broken.