[Bug 375836] New: OpenSuSe 11 Alpha 3 CD will not boot on selected hardware ..
https://bugzilla.novell.com/show_bug.cgi?id=375836 Summary: OpenSuSe 11 Alpha 3 CD will not boot on selected hardware.. Product: openSUSE 11.0 Version: Alpha 3 Platform: Other OS/Version: Other Status: NEW Severity: Blocker Priority: P5 - None Component: Installation AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: andrew@castlesoft.com.au QAContact: jsrain@novell.com Found By: --- The OpenSuSe 11 Alpha CD will not boot on the following hardware: Gigabyte GA-MA69GM-S2H F4 with AMD6000+ Processor, 4G Ram ATI Radeon X1200 (0x791e) onboard graphics Pioneer DVD-RW DVR-215 SATA RealTek 8169/8110 PCI Gig Nic It boots fine on NEC Versa/Compaq Presario/etc etc. It looks like a Pioneer/Sata boot issue. Fedora 9 Beta/Ubuntu 8.04Beta CD's boot fine. OpenSuSe 10.3 CD boots fine. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User guitarist198@yahoo.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c1 Josh J <guitarist198@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |guitarist198@yahoo.com Status|NEW |NEEDINFO Info Provider| |andrew@castlesoft.com.au --- Comment #1 from Josh J <guitarist198@yahoo.com> 2008-04-01 11:16:15 MST --- What does it do when it doesn't boot? Does it get to a certain point then stops? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User andrew@castlesoft.com.au added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c2 Andrew Tierney <andrew@castlesoft.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrew@castlesoft.com.au --- Comment #2 from Andrew Tierney <andrew@castlesoft.com.au> 2008-04-02 16:16:59 MST --- Update: I've applied the following updates with no change. 1) Gigabyte AMD RS690 BIOS for GA-MA69GN-S2H updated from version F4 to F5 2) Pioneer DVD-RW DVR-215 SATA V1.06 updated to V1.18 3) Disabled SMART in bios No change. Next step.. Will be to plug in another brand of DVD (probably LG) and see if its Pioneer or Gigabyte related. Also fresh download of ISO/MD5 Check still the same problem. Same disk boots on NEC Versa P570-2201DR Laptop. No GRUB/loading messages are displayed, it looks at the disk and boots from HDD. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User andrew@castlesoft.com.au added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c3 --- Comment #3 from Andrew Tierney <andrew@castlesoft.com.au> 2008-04-03 06:49:26 MST --- Interesting test. Same Motherboard/DVD drive. This time running a VMWare 6.03 Build 8004 host on Vista. The VMWare session boots the CD fine.. So it would appear to be something to do with Gigabyte GA-MA69GN-S2H booting the disk on SATA drives. (again ?? other distros are fine, so is opensuse 10.3) Next test is a SATA-PATA converter plugged into the Pioneer, then old Ribbon cable PATA to the motherboard. This will then test if its a SATA issue ? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User andrew@castlesoft.com.au added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c4 Andrew Tierney <andrew@castlesoft.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|andrew@castlesoft.com.au | --- Comment #4 from Andrew Tierney <andrew@castlesoft.com.au> 2008-04-04 20:01:25 MST --- Disconnected Pioneer DVR-215 Sata V1.18 from the motherboard. Connected it to the PC via 'R-Driver III USB 2.0 to Sata IDE cable' Selected BOOT from USB-CD.. Disk boots and installs ok.. So it would appear to be a BIOS/Motherboard issue booting this release on SATA drive. BUT only for OpenSuSe 11 Alpha 3 ? Not OpenSuSe 10, Fedora 9 Beta or Ubuntu 8 Beta.. Did anything change in the boot loader/sector/etc of the ISO ?? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 Cyril Hrubis <chrubis@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team-screening@forge.provo.novell.com |kernel-maintainers@forge.provo.novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User sativagarden@gmail.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c5 Felipe Alvarez <sativagarden@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sativagarden@gmail.com --- Comment #5 from Felipe Alvarez <sativagarden@gmail.com> 2008-04-12 11:01:20 MST --- I'm getting similar problems with my laptop trying to install opensuse 11A3. It hangs during "Probing hard disk controllers" About 33% of the way across the bar. HP/Compaq nx7400 Core 2 Duo T5600 1 GB RAM Intel Graphics 950 .more specs (http://h10010.www1.hp.com/wwpc/us/en/sm/WF06b/321957-321957-64295-321838-893...) I never had problems with opensuse 10.3 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User guitarist198@yahoo.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c6 --- Comment #6 from Josh J <guitarist198@yahoo.com> 2008-04-12 11:09:03 MST --- In response to Comment #5, Felipe Alvarez: This problem you are experiencing can be found here: Bug 371997. The work around is to type hwprobe=-parallel,-misc.par at the installation boot menu. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User coolo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c7 Stephan Kulow <coolo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|kernel-maintainers@forge.provo.novell.com |teheo@novell.com --- Comment #7 from Stephan Kulow <coolo@novell.com> 2008-04-30 12:35:48 MST --- did you retry with beta1? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User coolo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c8 Stephan Kulow <coolo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mmichna@novell.com --- Comment #8 from Stephan Kulow <coolo@novell.com> 2008-05-14 07:38:53 MST --- *** Bug 390205 has been marked as a duplicate of this bug. *** https://bugzilla.novell.com/show_bug.cgi?id=390205 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c9 Tejun Heo <teheo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |milisav.radmanic@novell.com, trenn@novell.com, | |gregkh@novell.com --- Comment #9 from Tejun Heo <teheo@novell.com> 2008-05-14 07:58:40 MST --- One of the two problems reported in bug #381794 was duplicate of this one. Cc'ing related people && will attach relevant logs. As there are quite a few people reporting this now and some might not be the same problem, please verify that "hwprobe=-parallel,-misc.par" parameter works around the problem. If not, please file a separate bug report. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c10 Tejun Heo <teheo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|teheo@novell.com |bnc-team-screening@forge.provo.novell.com Summary|OpenSuSe 11 Alpha 3 CD will not boot on selected|parallel driver grabs IRQ14 preventing legacy |hardware.. |SFF ATA controller from working --- Comment #10 from Tejun Heo <teheo@novell.com> 2008-05-14 07:59:46 MST --- Changing subject and requesting for re-assignment. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c11 --- Comment #11 from Tejun Heo <teheo@novell.com> 2008-05-14 08:01:58 MST --- Created an attachment (id=215190) --> (https://bugzilla.novell.com/attachment.cgi?id=215190) Logs from bug #381795 Logs from #381795. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c12 Tejun Heo <teheo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |teheo@novell.com --- Comment #12 from Tejun Heo <teheo@novell.com> 2008-05-14 08:02:52 MST --- FWIW, the case in #381795 can be worked around w/ pci=routeirq. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 Stephan Kulow <coolo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team-screening@forge.provo.novell.com |kernel-maintainers@forge.provo.novell.com Component|Installation |Kernel -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 Greg Kroah-Hartman <gregkh@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|kernel-maintainers@forge.provo.novell.com |trenn@novell.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User milisav.radmanic@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c13 --- Comment #13 from Milisav Radmanic <milisav.radmanic@novell.com> 2008-05-14 10:07:42 MST --- In my specific case for the 'HP dc7700p Convertible Minitower' I think I found the root cause of the problem. After a look in the BIOS setup I've found that the parallel port was deactivated. I don't know why it was, but I guess it was shipped like that. If I activate the device in the BIOS the parport module successfully locates a parallel port at IRQ 7 and does not hijack IRQ 14 - hence the harddrive gets found. The issue is reproducible by activating and deactivating the parallel port in the BIOS. As far as it concerns my issue I think it's solved, but still interesting to me is, why 11.0b3 behaves that different from 10.3 and why parport grabs IRQ14 when it should not grab anything at all. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User coolo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c14 Stephan Kulow <coolo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fwheeler_1@yahoo.com --- Comment #14 from Stephan Kulow <coolo@novell.com> 2008-05-14 22:42:11 MST --- *** Bug 390554 has been marked as a duplicate of this bug. *** https://bugzilla.novell.com/show_bug.cgi?id=390554 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c15 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bjorn.helgaas@hp.com Status|NEW |ASSIGNED --- Comment #15 from Thomas Renninger <trenn@novell.com> 2008-05-15 14:33:36 MST ---
From bug #381795, this very much looks like a bug in the pnpacpi layer:
cat /sys/devices/pnp0/00:07/resources (00:07 should be parport, dmesg|grep parport should show). it throws: io 0x378-0x37f io 0x778-0x77d irq 14 dma 1
But the related ACPI tables all point to irq 7. Milisav reported that this problem only exists if parallel port is switched off in BIOS config. I expect the resources are evaluated even _STA of the parallel device did return zero. Helgaas, do you think this is possilbe or do you know about an already existing fix or other bug? Or _STA does not return zero for reasons that lie in deeper ACPI parts (from latest ACPICA merge, hopefully this is not the case). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c16 --- Comment #16 from Thomas Renninger <trenn@novell.com> 2008-05-15 14:40:46 MST --- Created an attachment (id=215741) --> (https://bugzilla.novell.com/attachment.cgi?id=215741) Patched DSDT with additional debug info in _STA method of parallel device BE CAREFUL! This is for Milisav's machine only. Milisav, can you download the file to e.g. /etc/DSDT.aml and let ACPI_DSDT="" point to it, e.g.: ACPI_DSDT="/etc/DSDT.aml" Then invoke mkinitrd and boot with an addtional boot param: acpi.debug_level=0xF You should then see a line in dmesg: _STA of Parallel device and another one following which is the interesting one. Please also send some lines of dmesg around these messages, so that we can check about at what time _STA is invoked. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c17 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Blocker |Major --- Comment #17 from Thomas Renninger <trenn@novell.com> 2008-05-15 14:41:07 MST --- Lowering severity, pnpacpi=off is a work around. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c18 --- Comment #18 from Tejun Heo <teheo@novell.com> 2008-05-15 21:46:12 MST --- I'm curious what changed recently. Does anyone know why parport_pc suddenly started to think IRQ 14 is its? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User milisav.radmanic@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c19 --- Comment #19 from Milisav Radmanic <milisav.radmanic@novell.com> 2008-05-16 01:55:04 MST --- Created an attachment (id=215835) --> (https://bugzilla.novell.com/attachment.cgi?id=215835) output of dmesg with acpi.debug_level=0xF this is the output of dmesg according to comment #16 machine is: HP 7700p Convertible Minitower openSUSE 11.0 Beta 3, with patched DSDT the parallel device is switched on in the BIOS -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User milisav.radmanic@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c20 --- Comment #20 from Milisav Radmanic <milisav.radmanic@novell.com> 2008-05-16 01:57:21 MST --- Created an attachment (id=215837) --> (https://bugzilla.novell.com/attachment.cgi?id=215837) output of dmesg with acpi.debug_level=0xf pnpacpi=off this is the output of dmesg according to comment #16 machine is: HP 7700p Convertible Minitower openSUSE 11.0 Beta 3, with patched DSDT the parallel device is switched OFF in the BIOS therefore I needed to boot with pnpacpi=off -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c21 --- Comment #21 from Thomas Renninger <trenn@novell.com> 2008-05-16 10:21:20 MST ---
Does anyone know why parport_pc suddenly started to think IRQ 14 is its? This is not parport_pc's fault. This is ACPI. If the device is switched off in BIOS the _STA function must return 0 and the device must not be further evaluated.
In this case, I expect the _STA function returns not 0 wrongly or the value is ignored and the _CRS Current Resource Settings are evaluated. Probably only in PNP case or I expect this would have been noticed earlier. There the IO flags are statically declared, the IRQ and DMA values are set dynamically, possibly based on uninitialised values. As this is not that important (and my queue starts to get really long), I will start with fixing the DSDT override and then come back. This is the whole parallel device ACPI declaration (already with my debug messages, which should have printed to dmesg if DSDT override had worked): Device (ECP0) { Name (_HID, EisaId ("PNP0401")) Name (_DDN, "LPT1") Name (CRES, ResourceTemplate () { IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x00, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x00, // Alignment 0x06, // Length ) }) Method (_STA, 0, NotSerialized) { Store("_STA of Parallel device", debug) If (LPTN) { LETR () Store (0x03, LDN) Store (CFG1, Local0) And (Local0, 0x07, Local0) If (LEqual (Local0, 0x03)) { If (ACTR) { LEXT () Store (0x0F, debug) Return (0x0F) } Else { LEXT () Store (0x0D, debug) Return (0x0D) } } Else { LEXT () Store (0x0, debug) Return (Zero) } } Else { Store (0x0, debug) Return (Zero) } Store ("We should not end here", debug) } Method (_CRS, 0, NotSerialized) { CreateWordField (CRES, 0x01, IRQW) CreateByteField (CRES, 0x04, DMAC) CreateByteField (CRES, 0x08, IOLO) CreateByteField (CRES, 0x09, IOHI) CreateByteField (CRES, 0x0A, IORL) CreateByteField (CRES, 0x0B, IORH) CreateByteField (CRES, 0x0D, LEN1) CreateByteField (CRES, 0x10, ISL1) CreateByteField (CRES, 0x11, ISH1) CreateByteField (CRES, 0x12, ISL2) CreateByteField (CRES, 0x13, ISH2) CreateByteField (CRES, 0x15, LEN2) LETR () Store (0x03, LDN) Store (IOAL, IOLO) Store (IOAH, IOHI) Store (IOAL, IORL) Store (IOAH, IORH) Store (IOAL, ISL1) Add (0x04, IOAH, ISH1) Store (IOAL, ISL2) Add (0x04, IOAH, ISH2) If (LEqual (IOAL, 0xBC)) { Store (0x03, LEN1) Store (0x03, LEN2) } Else { Store (0x08, LEN1) Store (0x06, LEN2) } If (LEqual (INTR, Zero)) { Store (Zero, IRQW) } Else { Store (One, Local0) ShiftLeft (Local0, INTR, IRQW) } If (LEqual (DMCH, 0x04)) { Store (Zero, DMAC) } Else { Store (One, Local0) ShiftLeft (Local0, DMCH, DMAC) } LEXT () Return (CRES) } } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c22 --- Comment #22 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-05-16 12:46:25 MST --- Is this a regression? If so, what kernel version worked and when did it start failing? With the device disabled in BIOS, you might be able to boot without "pnpacpi=off" if you rename the parport_pc driver to prevent it from loading. It would be interesting to see the DSDT, the /sys/.../resources and /sys/.../options files, and /proc/interrupts. When PNP binds a driver to a device, it activates the device if it is inactive. That probably turns on the device even if it was initially disabled by the BIOS switch. But I don't know why the IRQ should be different in this case. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User milisav.radmanic@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c23 --- Comment #23 from Milisav Radmanic <milisav.radmanic@novell.com> 2008-05-19 01:47:31 MST --- Created an attachment (id=216295) --> (https://bugzilla.novell.com/attachment.cgi?id=216295) output of dmesg after boot with parport_pc disabled this is the output of dmesg according to comment #22 machine is: HP 7700p Convertible Minitower openSUSE 11.0 Beta 3, with patched DSDT the parallel device is switched OFF in the BIOS the parport_pc module was renamed, hence not loaded -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c24 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |snwint@novell.com Status|ASSIGNED |NEEDINFO Info Provider| |snwint@novell.com --- Comment #24 from Thomas Renninger <trenn@novell.com> 2008-05-20 09:20:54 MST --- Steffen: Could it be that something in linuxrc changed so that parport_pc is loaded before the disk drivers (see last sentence...)?
When PNP binds a driver to a device, it activates the device if it is inactive. This sounds like a bug. It pnpacpi must not touch the device if _STA returns zero.
Is this a regression? If so, what kernel version worked and when did it start failing? Yes, people tested last OpenSUSE, means 10.3, means 2.6.22. Has someone already tried another 11.0 and it did work (with the same affected machine)? Ehh, wait. See comment at the end, I expect this always was broken.
But I don't know why the IRQ should be different in this case. It looks like IRQ and DMA are set/overridden dynamically in _CRS. If the INTR and DMCH are not set by BIOS, irq and dma are undefined. _CRS and nearly every other function of an ACPI device must not be touched if _STA returns 0 (what I expect it does here).
When PNP binds a driver to a device, it activates the device if it is inactive I just tried to review this in the code, but I got lost... I am pretty sure that only PNP devices were add which _STA did not return zero. I thought I already had verified this by just trying out...
I also wonder how this should work if: drivers/acpi/scan.c:acpi_scan_init() which initializes ACPI devices (and calles _STA and sets acpi_device->status.enabled) is a subsys_initcall drivers/pnp/pnpacpi/core.c:pnpacpi_init() is also a subsys_initcall and checks against above set acpi_device->status.enabled How does the kernel know which subsys_initcall must be called first? Hmm, I think I see it now: pnp_start_dev() in drivers/pnp/manager.c must check whether the device is enabled or better it should re-evaluate drivers/acpi/bus.c:acpi_bus_get_status(). Doing it right, I expect one has to install a notify handler and re-evaluate _STA on 0x80 notify events to get hotplugging enabled, but I expect most (all?) current PNP driven drivers do not need hotplugging? Why does this not happen on Fedora, OpenSUSE 10.3, etc.? I expect that parport_pc never got loaded before the disk drivers in linuxrc, the install system? Could it be ensured (as a workaround, the real bug lies in pnpacpi IMO) that parport_pc is loaded after disk drivers? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User snwint@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c25 Steffen Winterfeldt <snwint@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|snwint@novell.com | --- Comment #25 from Steffen Winterfeldt <snwint@novell.com> 2008-05-20 09:33:06 MST --- parport_pc has always been loaded before the disk drivers by linuxrc, no change here. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c26 --- Comment #26 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-05-20 11:57:37 MST --- We only call pnpacpi_add_device() if acpi_bus_get_device() succeeds. That only succeeds if there was a prior call to acpi_device_set_context(). But acpi_add_single_object() skips the acpi_device_set_context() call if !device->status.present. Therefore, I think devices with _STA==0 will not be added as PNP devices. My guess is that disabling the parallel port in the BIOS causes _STA to return 0xd (present, !enabled, ui, functional) instead of 0xf (present, enabled, ui, functional). We could easily add a printk in acpi_bus_get_status() to verify this. If the BIOS leaves the parallel port present but disabled, it probably doesn't assign an IRQ for it, but it should be legal for the OS to do its own IRQ assignment and enable the device. Milisav, can you collect the /sys/devices/.../options file for the parallel port? It's likely the same whether the port is enabled or disabled in BIOS, but if they're different, I'd like to know that, too. If the options contain IRQ 14, it looks like pnp_assign_irq() could easily assign that to the parallel port, which might cause the problem we're seeing. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c27 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #215741|0 |1 is obsolete| | --- Comment #27 from Thomas Renninger <trenn@novell.com> 2008-05-20 12:20:04 MST --- Created an attachment (id=217000) --> (https://bugzilla.novell.com/attachment.cgi?id=217000) Debug DSDT Milisav: Could you take a latest kernel from here: ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/i386/kernel-default.rpm or x86_64: ftp://ftp.suse.com/pub/projects/kernel/kotd/HEAD/x86_64/kernel-default.rpm and follow up comment #16 again and override the DSDT for debug purpose, pls. After installing the system, you should also be able to boot without acpipnp=off and without enabling parallel port in BIOS? (this setup with extended acpi debug info boot param and overridden DSDT is needed) Also try to load parport_pc manually later and then attach whole dmesg. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
We only call pnpacpi_add_device() if acpi_bus_get_device() succeeds. That only succeeds if there was a prior call to acpi_device_set_context(). But acpi_add_single_object() skips the acpi_device_set_context() call if !device->status.present. Therefore, I think devices with _STA==0 will not be added as PNP devices. Thanks for acpi_device_set_context() pointer, I overlooked that. I also remember I verified _STA methods returning zero are not added by trying out not
My guess is that disabling the parallel port in the BIOS causes _STA to return 0xd (present, !enabled, ui, functional) instead of 0xf (present, enabled, ui, functional). We could easily add a printk in acpi_bus_get_status() to verify this. Instead of recompiling the kernel and adding a printk it is enough to add boot
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c28 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEEDINFO Info Provider| |milisav.radmanic@novell.com --- Comment #28 from Thomas Renninger <trenn@novell.com> 2008-05-21 01:55:02 MST --- I didn't see that you've already posted... that long ago, but knowing the set_context bit helps :) params (after installation, with parallel port switched off in BIOS and without pnpacpi=off boot param): log_buf_len=16384 acpi.debug_level=0x1F We are then searching for this message: ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device [%s] status [%08x]\n", device->pnp.bus_id, (u32) STRUCT_TO_INT(device->status))); The device is named ECP0. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c29 --- Comment #29 from Thomas Renninger <trenn@novell.com> 2008-05-21 01:56:53 MST --- Created an attachment (id=217123) --> (https://bugzilla.novell.com/attachment.cgi?id=217123) Possible fix if above assumptions are true -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User coolo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c30 Stephan Kulow <coolo@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |coolo@novell.com --- Comment #30 from Stephan Kulow <coolo@novell.com> 2008-05-21 03:24:01 MST --- Does this work on Marco's machines? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c31 --- Comment #31 from Thomas Renninger <trenn@novell.com> 2008-05-21 03:37:10 MST --- If you mean the Phenom Sahara system? This one already works again with 11.0 after setting BIOS settings to default and installing the latest kernel, the problem is unrelated. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User milisav.radmanic@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c32 Milisav Radmanic <milisav.radmanic@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |ASSIGNED Info Provider|milisav.radmanic@novell.com | --- Comment #32 from Milisav Radmanic <milisav.radmanic@novell.com> 2008-05-21 07:20:56 MST --- Created an attachment (id=217260) --> (https://bugzilla.novell.com/attachment.cgi?id=217260) output of dmesg according to commen #27 included are two files which contain the output of dmesg according to comment #27. One is done with the device enabled in BIOS and the other with the device disabled. With the new kernel I was able to boot without the parameter pnpacpi=off. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
From debug info added to the DSDT this is: IRQ: 7 DMA: 0 But parport driver states (and this is odd):
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c33 --- Comment #33 from Thomas Renninger <trenn@novell.com> 2008-05-21 10:21:19 MST --- Milisav: Thanks, this really helps a lot! Do not forget to remove the DSDT again: Remove the entry from /etc/sysconfig/kernel to ACPI_DSDT="" and then invoke mkinitrd. What does it tell us: IRQ and DMA gets modified on the fly in _CRS. I mean these templates: IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} When the port is enabled in BIOS, the irq and dma will still be correct and the values above will be overridden with the same values (7,3) in _CRS. But if the parallel port in BIOS is disabled, only IRQ gets modified (means, DMCH is 0x4 and DMAC, which should be the dma channel passed to pnpacpi in the end is set to zero). ------------------ Most important: If the parallel port is disabled _STA returns 0xD otherwise 0xF (Even if disabled, _STA gets evaluated four times, one time before the rest of ACPI gets initialized, I didn't know that _STA gets evaluated that early..., two times shortly after initialization of the interpreter and one time if the PNP initialization starts..., looks like there is optimation possible...). ------------------ If the parallel port is disabled, _CRS is not called at PNP initialization time, but much later when the parport_pc driver is loaded and it is called there twice. Ahh and I see why: dev->active = device->status.enabled; is set in pnpacpi/core.c Means the PNP device is added as such, but set inactive. It is activated(as Bjorn already stated) when the parport_pc driver is loaded. ------------------ Conclusion: Patch from comment #29 should help and is IMO the right fix, Bjorn could you comment/review, pls. Hmm, it's a rather easy fix... I'll add it. When _STA returns 0xD _CRS data must not be evaluated. Some things I do not understand and I expect further bugs: Arbitrary data may be returned, when present bit is not set (0xD, this I understand...): parport0: PC-style at 0x378 (0x778), irq 5, dma 1 The parport driver did not modify this, but just takes the values from the pnp layer: if (pnp_dma_valid(dev,0) && !(pnp_dma_flags(dev,0) & IORESOURCE_DISABLED)) dma = pnp_dma(dev,0); same for irq. Why is this irq 5 and not 7? Why is this dma 1 and not 0? Next question is why did _CRS get called twice when parport_pc got loaded? I very much expect bugs in pnp or pnpacpi layer when the device's _CRS did not get parsed at PNP init time (only when present bit is not set), but gets activated later. I will add the patch now (oh, I must leave, I'll add it on Fr) and will not look at this further (not worth it, the patch should be sufficient for 11.0). Things will change heavily in upcoming kernels, I'd more like to help and test with the dynamic resource PNP implementations. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c34 --- Comment #34 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-05-21 10:30:32 MST --- Created an attachment (id=217354) --> (https://bugzilla.novell.com/attachment.cgi?id=217354) keep parallel device from using IRQ 14 I don't like the patch in comment #29. If the BIOS leaves a device disabled, I think it is perfectly legal for the OS to assign resources and enable the device. If BIOS wants to hide the device completely from the OS, it should either remove the device from the ACPI namespace or make its _STA return 0 (not present). Based on the following dmesg lines: ata_piix 0000:00:1f.2: version 2.12 ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 18 (level, low) -> IRQ 18 ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ] PCI: Setting latency timer of device 0000:00:1f.2 to 64 scsi0 : ata_piix scsi1 : ata_piix ata1: SATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0x21f0 irq 14 ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x21f8 irq 15 I think we're using ata_pci_sff_activate_host(), the normal PCI IRQ is 18, but the controller is in legacy mode, so we use ATA_PRIMARY_IRQ == 14. I don't know how IDE decides whether to leave a controller in legacy mode where it will always use IRQ 14, or to use it in native mode, where I assume it would use normal PCI interrupts. I think we just have to assume that the IDE controller may require IRQ 14, so we can't use it for anything else. We might have to just remove IRQ 14 from the list of possible IRQs for the parallel port. I suppose the BIOS included IRQ 14 as an option because the hardware allows that configuration, and the port probably works fine on IRQ 14 as long as you don't use the IDE controller (or use it in native mode). We could use something like this patch, but we might want to make it smarter or more specific. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c35 --- Comment #35 from Tejun Heo <teheo@novell.com> 2008-05-21 19:18:03 MST --- Whether the controller is determined by progif (lower byte of class code) and is usually configurable via BIOS setup and you probably wanna avoid 15 too as 14/15 are used together almost always. IRQ allocation on those low ranges can be pretty crazy. Probably it's best to just disable parallel if the BIOS was told to do so. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c36 --- Comment #36 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-05-22 09:11:29 MST --- In general, we can't just ignore devices that are present but disabled. As an example, I have a Toshiba Portege 4000 with a parallel port. There is no BIOS setting to enable or disable the port, but the BIOS always leaves the ACPI device marked disabled. If we completely ignored the device, Linux would never be able to use it. As I mentioned, if the BIOS wants to completely hide the device from the OS, it should either remove the device from the namespace or mark it as not present. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
I have a Toshiba Portege 4000 with a parallel port. There is no BIOS setting to enable or disable the port, but the BIOS always leaves the ACPI device marked disabled. If we completely ignored the device, Linux would never be able to use it. Have you tried CONFIG_PARPORT_PC_SUPERIO? Or whatabout:
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c37 --- Comment #37 from Thomas Renninger <trenn@novell.com> 2008-05-23 07:19:53 MST --- Patch from comment #34 is wrong, please do not do that. The mechanism to activate (and parse the resources of) the device when the driver is loaded also if the Bit 1 of _STA is not set is: 1) broken: output from comment #32 shows that the IRQ in _CRS is set to 7 and dma to 0, but the PNP layer gets it wrong and passes random numbers to the driver (in Milisav's debug case above IRQ 5 and DMA 1, when he installed it was irq 14 and dma ?). 2) wrong: ACPI Spec 3.0, chap. 6.3.7 states about _STA function: "Bit 1 Set if the device is enabled and decoding its resources." "A device can only decode its hardware resources if both bits 0 and 1 are set. If the device is not present (bit 0 cleared) or not enabled (bit 1 cleared), then the device must not decode its resources." Our special case is that Bit 1 is not set. But PNP layer will decode its resources if the driver gets loaded, that is wrong. In fact, all the PNP layer can do is decoding resources, so it must take its hands off completely. This is what my patch does. IMO, in 0xD case the driver itself can try to get the device activate by guessing its resources. PNP must tell the driver when it registers either that: - The device is disabled (also do not try to touch it yourself) - The device is enabled, use pnp info for setting it up - The device (may be) enabled, try to find the resources yourself The latter is missing. Look at parport_pc driver, there are functions like: ------------ #ifdef CONFIG_PARPORT_PC_SUPERIO detect_and_report_it87(); detect_and_report_winbond(); detect_and_report_smsc(); #endif /* Onboard SuperIO chipsets that show themselves on the PCI bus. */ count += parport_pc_init_superio(autoirq, autodma); /* PnP ports, skip detection if SuperIO already found them */ if (!count) { ------------ This order must be exchanged to do it correctly, but touching this old driver is probably not a good idea. Correctly it should first register for PNP. If the device is present, but decoding ACPI resources if forbidden then above functions should get active (maybe then it's save to remove the #ifdef from them? Hmm, probably only on Windows if one already knows from the vendor which HW to poke...). options parport_pc io= irq= This is already pre-defined in our modprobe.conf, seems there already have been a lot reports about this driver: # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none I prefer to go the save (and IMO cleaner) way for 11.0, that irq 14 was chosen here seem to be absolutely random. People can still activate their parport with module params. We might get some devices then not working anymore (should be really seldom, when others also return 0xD and PNP does it wrong but by luck gets the right info), working around with pnpacpi=off should still work in all cases. I'll keep this bug open a bit longer for discussion... Milisav: A short check whether installation really works for you (finds the disk) in the next Beta would be great. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c38 --- Comment #38 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-05-23 14:58:56 MDT --- (In reply to comment #37 from Thomas Renninger)
The mechanism to activate (and parse the resources of) the device when the driver is loaded also if the Bit 1 of _STA is not set is: 1) broken: output from comment #32 shows that the IRQ in _CRS is set to 7 and dma to 0, but the PNP layer gets it wrong and passes random numbers to the driver (in Milisav's debug case above IRQ 5 and DMA 1, when he installed it was irq 14 and dma ?).
I doubt PNP is passing random numbers to the driver. We just don't understand what's happening well enough yet.
2) wrong: ACPI Spec 3.0, chap. 6.3.7 states about _STA function: "Bit 1 Set if the device is enabled and decoding its resources." "A device can only decode its hardware resources if both bits 0 and 1 are set. If the device is not present (bit 0 cleared) or not enabled (bit 1 cleared), then the device must not decode its resources."
This statement in the spec refers to the *hardware* behavior, not the OS behavior. If the parallel port is disabled (_STA bit 1 is cleared), the parallel port controller must not respond to any access, i.e., the hardware address decoders on the bus must be disabled.
Our special case is that Bit 1 is not set. But PNP layer will decode its resources if the driver gets loaded, that is wrong. In fact, all the PNP layer can do is decoding resources, so it must take its hands off completely. This is what my patch does.
I believe this is incorrect. The language is confusing because we use "decoding" for both (1) the hardware action of recognizing and claiming a bus transaction and (2) the software action of parsing the resource descriptors.
IMO, in 0xD case the driver itself can try to get the device activate by guessing its resources.
I disagree. In an ACPI system, the driver should never have to guess at resources (though obviously there might be bugs that prevent us from realizing this ideal). I don't think the BIOS is required to enable all devices, which means that it can leave devices in the 0xD state (present, !enabled).
PNP must tell the driver when it registers either that: - The device is disabled (also do not try to touch it yourself)
_STA present == 0.
- The device is enabled, use pnp info for setting it up
_STA present == 1, enabled == 1.
- The device (may be) enabled, try to find the resources yourself The latter is missing.
ACPI is intended to remove this case.
Look at parport_pc driver, there are functions like: ------------ #ifdef CONFIG_PARPORT_PC_SUPERIO detect_and_report_it87(); detect_and_report_winbond(); detect_and_report_smsc(); #endif
/* Onboard SuperIO chipsets that show themselves on the PCI bus. */ count += parport_pc_init_superio(autoirq, autodma);
/* PnP ports, skip detection if SuperIO already found them */ if (!count) { ------------ This order must be exchanged to do it correctly, but touching this old driver is probably not a good idea. Correctly it should first register for PNP. If the device is present, but decoding ACPI resources if forbidden then above functions should get active (maybe then it's save to remove the #ifdef from them? Hmm, probably only on Windows if one already knows from the vendor which HW to poke...).
Yep, we definitely *should* try PNP first. But many legacy drivers don't use PNP, or PNP was added later.
I have a Toshiba Portege 4000 with a parallel port. There is no BIOS setting to enable or disable the port, but the BIOS always leaves the ACPI device marked disabled. If we completely ignored the device, Linux would never be able to use it. Have you tried CONFIG_PARPORT_PC_SUPERIO? Or whatabout: options parport_pc io= irq=
Sorry, I should have said "Linux would not be able to configure the parallel port via PNP." Of course, we can blindly poke at the device, and many drivers do that, but the intent of PNP is that this should not be necessary.
I prefer to go the save (and IMO cleaner) way for 11.0, that irq 14 was chosen here seem to be absolutely random.
I don't believe IRQ 14 is random. If Milisav looks at the "options" file for the parallel port, I'm pretty sure it will contain IRQ 14. If so, the current PNP assignment code will happily try to use it, because it doesn't know that IRQ 14 might be needed for IDE. Milisav, is there any chance you could attach the "options" file for the parport device?
People can still activate their parport with module params. We might get some devices then not working anymore (should be really seldom, when others also return 0xD and PNP does it wrong but by luck gets the right info), working around with pnpacpi=off should still work in all cases.
Having to use "pnpacpi=off" is a symptom of a defect in PNP or ACPI. Having to specify parport options on a PNPBIOS or ACPI system is also a symptom of a defect. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
I don't believe IRQ 14 is random. If Milisav looks at the "options" file for the parallel port, I'm pretty sure it will contain IRQ 14. First I wanted to post: No need there is no _PRS for ECP0, options will be empty... therefore I thought PNP returns random data... But you are right, I was wrong. PNP picks IRQ 14 when Misilav installed and now
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c39 --- Comment #39 from Thomas Renninger <trenn@novell.com> 2008-05-24 15:11:17 MDT --- If the device is not enabled, PNP will parse _PRS (Possible Resource Settings), pick one resource and activates/enables the device via _SRS (Set Resource Settings). _CRS gets ignored. So the data PNP passes to the parport_pc driver is not random. I was confused because I couldn't find _PRS and _SRS methods they are declared some hundred lines below in a separate scope space...: ----------------------- Scope (\_SB.PCI0.LPC.ECP0) { Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IRQNoFlags () {5,7,10,11,14,15} DMA (Compatibility, NotBusMaster, Transfer8, ) {1,2,3} IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum ... ----------------------- picks IRQ 5 if has already installed and this probably comes from _PRS above. IMO instead of blacklisting IRQ 14 for PNP0401 (IRQ 15 also needs to be added), it would be more efficient to set a preferred IRQ via the quirk interface (would be easier for shorterm?), or even better passed via the driver. A hint from the driver to PNP, if it really has to go through _PRS and can choose between quite a lot setups. E.g. for IRQs: serial should be 4 or/snd 3, floppy 6, parallel 7, kbd 1, mouse 12. What do you think? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c40 --- Comment #40 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-05-27 13:41:29 MDT --- (In reply to comment #39 from Thomas Renninger)
PNP picks IRQ 14 when Misilav installed and now picks IRQ 5 if has already installed and this probably comes from _PRS above.
pnp_assign_irq() tries to assign IRQs in the order: 5, 10, 11, 12, 9, 14, 15, 7, ..., so in order for us to assign IRQ 14 to the parallel port, IRQs 5, 10, and 11 must have been busy already (12 and 9 are not possibilities for the parallel port). pnp_check_irq() does check to see whether an IRQ is already in use by a PCI device, but that didn't help here. Can you use the PCI "early config space dump" patches recently posted on linux-pci to figure out why not? Based on ata_pci_sff_activate_host(), it seems like the BIOS must have left the ATA controller in compatibility (legacy) mode, but maybe it put the native-mode IRQ line in PCI config space. That would make PNP think IRQ 14 is free, but in legacy mode, ATA will ignore pdev->irq and try to use IRQ 14.
IMO instead of blacklisting IRQ 14 for PNP0401 (IRQ 15 also needs to be added),
Yeah, I really don't like that quirk either. We could have the same issue with any PNP device, so it'd be much better to have a more general solution. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c41 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #217123|0 |1 is obsolete| | --- Comment #41 from Thomas Renninger <trenn@novell.com> 2008-05-31 01:34:19 MDT --- Created an attachment (id=219316) --> (https://bugzilla.novell.com/attachment.cgi?id=219316) Try to take IRQ 7 for parallel devices What about this one? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c43 --- Comment #43 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-06-02 10:34:03 MDT --- (In reply to comment #41 from Thomas Renninger)
Created an attachment (id=219316) --> (https://bugzilla.novell.com/attachment.cgi?id=219316) [details] Try to take IRQ 7 for parallel devices
What about this one?
That's an interesting idea. Of course, there's nothing specific to the parallel port about this problem, so it's always possible that other PNP devices could fall into the same trap. I'd like to understand the ATA situation. There's a "TODO: What if one channel is in native mode ..." comment in ata_pci_sff_activate_host(), and I'm really curious about whether that's the situation we're seeing. If so, maybe the PCI IRQ check in pnp_check_irq() needs to be smarter. We currently consider IRQ 14 to be in use if any pci_dev->irq == 14. Maybe we also need to check for port 0 of an IDE controller being in legacy mode. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c44 --- Comment #44 from Tejun Heo <teheo@novell.com> 2008-06-08 23:44:54 MDT --- That's only theoretical possibility. Mixed legacy/native mode is possible but hasn't been used by any vendor AFAIK. It just doesn't make much sense. Both IDE and libata don't handle such case and no one has reported problem regarding that. It's probably best to avoid both IRQ 14 and 15 if the ATA controller isn't fully in native mode. FWIW, drivers/pci/probe.c already has legacy ATA detection code in pci_setup_device() to setup PCI BARs according to legacy IO ports. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c45 Bjorn Helgaas <bjorn.helgaas@hp.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #217354|0 |1 is obsolete| | --- Comment #45 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-06-09 11:03:39 MDT --- Created an attachment (id=221076) --> (https://bugzilla.novell.com/attachment.cgi?id=221076) avoid IDE compatibility IRQs OK, does anybody like this patch (based on Tejun's last comment)? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c46 --- Comment #46 from Tejun Heo <teheo@novell.com> 2008-06-09 17:12:23 MDT --- Looks fine to me. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c47 --- Comment #47 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-06-13 11:03:04 MDT --- What do you think, Thomas? If somebody could test the patch from comment #45 and verify that it fixes the problem, it seems like something we could push upstream. It's always ugly to deal with legacy devices, but maybe it's the least of the evils, and it is pretty generic. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c48 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|astarikovskiy@novell.com |trenn@novell.com --- Comment #48 from Thomas Renninger <trenn@novell.com> 2008-06-16 10:20:21 MDT --- I was away for some days... I wonder what the easiest way to test this is... Parallel driver must get loaded before disk drivers, right? Should compiling in parallel driver work? Does a kiso (if yes, Tejun, could you point me to some doku and I can set up such an iso, I always wanted to have a look at that...) work?
That's an interesting idea. Of course, there's nothing specific to the parallel port about this problem, so it's always possible that other PNP devices could fall into the same trap. While such a sanity check (provided by your patch) probably is a good idea, I still think device specific IRQ preference could not only fix this one, but also prevent running into other similar pits in the future. Bjorn, could you have a short look at the updated patch I am going to attach. It's rather the same, but has more devices added and provides a possibility to add several preferred irqs to one device (not sure whether this is overdosed). This should lower the risk of running into similar bugs in the future significantly.
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c49 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #219316|0 |1 is obsolete| | --- Comment #49 from Thomas Renninger <trenn@novell.com> 2008-06-16 10:22:21 MDT --- Created an attachment (id=222313) --> (https://bugzilla.novell.com/attachment.cgi?id=222313) Introduce device specific IRQ priority -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c50 --- Comment #50 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-06-16 14:57:04 MDT --- (In reply to comment #48 from Thomas Renninger)
I wonder what the easiest way to test this is... Parallel driver must get loaded before disk drivers, right?
Yes; this problem only occurs when parport_pc is loaded before the IDE driver.
Should compiling in parallel driver work?
Yes, I think it should work if you compile in the parport_pc driver because PNP drivers are initialized before PCI drivers. But all you need to do is rebuild the kernel with the patch and use the identical drivers. (Of course, you might have to fiddle with the kernel version string to make it match the drivers and bypass any module signature checking you do.)
While such a sanity check (provided by your patch) probably is a good idea, I still think device specific IRQ preference could not only fix this one, but also prevent running into other similar pits in the future. Bjorn, could you have a short look at the updated patch I am going to attach. It's rather the same, but has more devices added and provides a possibility to add several preferred irqs to one device (not sure whether this is overdosed). This should lower the risk of running into similar bugs in the future significantly.
I don't think your patch is sufficient to fix this problem. Your patch will make us try IRQ 7 first for a PNP0400/PNP0401 device, but if IRQ 7 happens to be busy for some reason, there's still nothing to prevent us from assigning IRQ 14 to it. That said, I am intrigued by your patch, and in some ways it makes more sense than the current xtab[] table, since I have no idea how the xtab[] order was derived. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User teheo@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c51 --- Comment #51 from Tejun Heo <teheo@novell.com> 2008-06-16 18:18:23 MDT --- Thomas, yeah, kISO will work nicely for this one. There's an OBS project for it and information on how to use it is included in the README file. https://build.opensuse.org/package/show?package=build-suse-kiso&project=home%3Ateheo -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c52 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO Info Provider| |andrew@castlesoft.com.au --- Comment #52 from Thomas Renninger <trenn@novell.com> 2008-07-14 15:57:33 MDT --- Sorry for the very long delay..., I saw a message that Bjorns first attempt was not 100% correct... I then saw the new patch in Bjorn's pnp patchset and here is the kiso test boot media: My first kiso, hope it works out even I saw: Warning: creating filesystem that does not conform to ISO-9660 The idea is to boot the fixed kernel, then exchange the installation media with your original one. You find a i386 and x86_64 kiso to boot and test here: ftp.suse.com/pub/people/trenn/pnp_ide_irq_fix/
From kiso README:
When using together with regular installation media, 1. Boot with kISO and select operation to perform from the boot menu. Boot loader loads kernel and initrd images into memory. 2. Wait until boot loader finishes loading. 3. All the needed contents from the kISO are contained in kernel and initrd images, so kISO can be removed from the drive once boot loader finishes loading. Remove kISO media from the drive and put in release installation media. 4-1. If the release installation media was put in before hardware probe is complete, installation system starts and proceeds the same way. 4-2. If the media was put in too late, linuxrc will complain that it can't find product repository and activate manual setup. Nothing to worry about. You just need to press enter a few more times. Proceed to #5. 5. Make sure the release installation media is in the drive and select language and keyboard map. It will give you Main Menu. Select "Start Installation or System" -> "Start Installation or Update" -> "CD-ROM". All the selections are the default, so just pressing enter several times is enough. linuxrc will report that no update was found which can be safely ignored. Installation continues as usual. Because manual mode was activated, installation system will ask a few more questions. Other installation sources can be selected from step 5 as in any other installation media. If kISO is used, the installation system installs kernel RPM from kISO such that the updated kernel is used from the first boot after installation. The kernel RPM is installed using 'rpm --nodeps' after all other packages are installed. Beware that it might violate some dependencies if other packages which depend on the kernel version are installed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c53 --- Comment #53 from Thomas Renninger <trenn@novell.com> 2008-07-16 10:07:56 MDT --- Here is another kiso with my approach fixing this issue: ftp.suse.com/pub/people/trenn/thermal_and_ide_irq_fixed_11_0 It would be great if someone could give these two a try. It is enough to go that far until yast has detected the disks (or not). Then switch to console 2, CTRL-ALT-F2, do a: cat /proc/interrupts or maybe do a: grep parport /var/log/boot.msg and tell us on which interrupt parport is set. It would be really great if someone can give these a test, pls. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User bjorn.helgaas@hp.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c54 --- Comment #54 from Bjorn Helgaas <bjorn.helgaas@hp.com> 2008-08-13 09:11:34 MDT --- A patch similar to the one in comment #45 is upstream: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdif... This appeared in 2.6.27-rc1, so it would be great if somebody could test either a current upstream kernel or Thomas's kiso. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c55 --- Comment #55 from Thomas Renninger <trenn@novell.com> 2008-08-18 06:46:23 MDT --- Yeah, I talked to Mili and he offered me to give this a short test, but I missed the appointment...
This appeared in 2.6.27-rc1 Then it can be tested by simply installing next .27 based SLE11 or 11.1 Alpha. Double checking cat /proc/interrupts at installation would be great. I could imagine that parallel port still does not get on IRQ 7, what IMO is wrong.
I still like to give my patch a test also... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User aj@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c56 Andreas Jaeger <aj@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW Info Provider|andrew@castlesoft.com.au | --- Comment #56 from Andreas Jaeger <aj@novell.com> 2008-11-10 13:32:44 MST --- Is this fixed now? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User milisav.radmanic@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c57 --- Comment #57 from Milisav Radmanic <milisav.radmanic@novell.com> 2008-11-11 03:20:12 MST --- (In reply to comment #56 from Andreas Jaeger)
Is this fixed now?
as far as is concerns my machine it is fixed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=375836 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=375836#c58 Thomas Renninger <trenn@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #58 from Thomas Renninger <trenn@novell.com> 2008-12-08 03:43:54 MST --- see last comment. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com