Bug 73691
Summary: | libata.force=2:disable fails | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | bofh80 (afm404) |
Component: | Serial ATA | Assignee: | Tejun Heo (tj) |
Status: | RESOLVED ANSWERED | ||
Severity: | normal | CC: | growthstarboard, kernel, maskeryulia, nadiaeira00, szg00000, wgtemp |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.13-1 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | attachment-25680-0.html |
Description
bofh80
2014-04-08 18:27:17 UTC
libata is not getting the parameter at all. Your initrd probably doesn't automatically parse the kernel command line to extract module params. Please consult with your distro on how to specify module params for modules loaded from initrd. If you can build your kernel with libata built-in, this'd be easy to verify. I'm closing the bug as INVALID for now. Thanks. I have confirmed that the 'correct' method is to create a file in /etc/modprobe.d/ with options libata force=2:disable Followed by updating the initramfs. As seen with: ata2.00: FORCE: horkage modified (disable) (on my virtual machine) HOWEVER...as the original bug reports - disable fails, it does indeed fail to do as intended. (the intention of the author of this patch was for onboard SSD that had failed and soldiered onto the board). My syslog / dmesg reports: ata2: PATA max UDMA/33 cmd 0x1f0 ctl 0x3f6 bmdma 0xd000 irq 14 BEFORE the FORCE disables it. The problem with the users machine above, occurs at the ata2: part. BEFORE the disable kicks in. Which it never does, since ata2: reset failed, giving up; kicks in before a device is recognised to be disabled. So basically if libata.force only disables after the probe, i need to know how to disable the probe.... Happy for further information to be provided and this bug closed as invalid again, as long as i can get the users machine working as this libata.force is supposed to do... Thanks . . also filed with debian - find more information there if neccessary, or advise on there if debian can do anything different with their kernel, thanks. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746361 Set Bug forwarded-to-address to 'https://bugzilla.kernel.org/show_bug.cgi?id=73691'. Request was from Ben Hutchings <ben@decadent.org.uk> to control@bugs.debian.org. (Sat, 03 May 2014 19:57:17 GMT) Full text and rfc822 format available. Please note the user tested with arch linux and the same issue, i will happily test with a few different distro's. but any information like, libata.force doesn't disable the probe because, we need a new patch, this is not what libata.force is for. etc would be good. thanks Anthony F. McInerney (In reply to Tejun Heo from comment #1) > libata is not getting the parameter at all. Your initrd probably doesn't > automatically parse the kernel command line to extract module params. Please > consult with your distro on how to specify module params for modules loaded > from initrd. > > If you can build your kernel with libata built-in, this'd be easy to verify. > I'm closing the bug as INVALID for now. > > Thanks. libata.force=2:disable didn't affect slow boot times in my case, but libata.force=rstonce shortened delay from +60 seconds to +8 seconds. I think it proves that initrd parses kernel command line to extract module params, and at least libata.force=rstonce affects system. same problem here, libata.force=2:disable is completely ignored, but libata.force=2:rstonce works fine, and produces the following confirmation in dmesg: [ 0.857339] ata2: FORCE: link flag 0x200 forced -> 0x200 when set to disable there is no message, and no effect Tested on 3.16.1 Okay, just tested libata.force=N:disable and it works as intended. It doesn't inhibit probing. It just disables the device after it's recognized. Using norst can probably avoid delay due to broken devices. Thanks. |