← Back to team overview

linux-traipu team mailing list archive

[Bug 855199] Re: "irqfixup" and "irqpoll" broken since 2.6.39

 

** Description changed:

  In all kernels since 2.6.39, the "irqfixup" and "irqpoll" options are no
  longer taking effect.  I have several machines that need to boot with
  one of these options, and I see reports of this regression from multiple
  other users.
  
  The interrupts now generate the same errors seen without these kernel
  options, e.g.:
  
    irq 19: nobody cared (try booting with the "irqpoll" option)
  
- even though irqpoll, or irqfixup, is used.  I don't know whether these
- options fail in all cases, or if some unknown hardware configurations
- are out there continuing to work.
+ even though irqpoll, or irqfixup, is used.
  
  The Linux irq code was reworked during the 2.6.39 cycle.  I have gone
  through the patches, and this is the commit where the regression
  arrives:
  
-   commit d05c65fff0ef672be75429266751f0e015b54d94
+   commit d05c65fff0ef672be75429266751f0e015b54d94
  
-   genirq: spurious: Run only one poller at a time
+ http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=d05c65fff0ef672be75429266751f0e015b54d94
  
-   No point in running concurrent pollers which confuse each other by
-   setting PENDING.
+ I have a fix that works as far as i can test it, and I've now submitted
+ a patch.
  
-   author Thomas Gleixner <tglx@xxxxxxxxxxxxx>
-    Mon, 7 Feb 2011 13:31:37 +0000 (14:31 +0100)
-   committer Thomas Gleixner <tglx@xxxxxxxxxxxxx>
-    Sat, 19 Feb 2011 11:58:09 +0000 (12:58 +0100)
+ The problem commit added a test to the bad-irq routines, checking
+ whether they were already running. One of these tests had an "=="
+ operator, where it seems to need "!=", not equal. Making that one change
+ in kernel/irq/spurious.c fixes the regression for me. I've tested it
+ successfully it on various kernels, including the current Oneiric
+ source.
  
- http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=d05c65fff0ef672be75429266751f0e015b54d94
+ The submitted patch is attached. And here it is on LKML:
  
- I emailed LKML and Mr. Gleixner, who is the subsystem maintainer, but
- got no response to date.  (And the kernel bugzilla is still down.)  I
- had not isolated this single patch, out of the pile, then.  I'm trying
- to look the patch over, to improve my case, before my next try at
- getting maintainer attention.
+   https://lkml.org/lkml/2011/11/1/267
  
- ProblemType: Bug
- DistroRelease: Ubuntu 11.10
- Package: linux-image-3.0.0-11-generic 3.0.0-11.18
- ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
- Uname: Linux 3.0.0-11-generic x86_64
- AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
- ApportVersion: 1.23-0ubuntu1
- Architecture: amd64
- ArecordDevices:
-  **** List of CAPTURE Hardware Devices ****
-  card 0: IXP [ATI IXP], device 0: ATI IXP AC97 [ATI IXP AC97]
-    Subdevices: 1/1
-    Subdevice #0: subdevice #0
- AudioDevicesInUse:
-  USER        PID ACCESS COMMAND
-  /dev/snd/controlC1:  ed         1696 F.... pulseaudio
-  /dev/snd/controlC0:  ed         1696 F.... pulseaudio
- CRDA: Error: [Errno 2] No such file or directory
- Card0.Amixer.info:
-  Card hw:0 'IXP'/'ATI IXP rev 2 with ALC655 at 0xfe02a000, irq 17'
-    Mixer name	: 'Realtek ALC655 rev 0'
-    Components	: 'AC97a:414c4760'
-    Controls      : 41
-    Simple ctrls  : 26
- Card1.Amixer.info:
-  Card hw:1 'NVidia'/'HDA NVidia at 0xfcffc000 irq 18'
-    Mixer name	: 'Nvidia GPU 0d HDMI/DP'
-    Components	: 'HDA:10de000d,10de0101,00100100'
-    Controls      : 17
-    Simple ctrls  : 5
- Date: Tue Sep 20 21:19:35 2011
- HibernationDevice: RESUME=UUID=821c96d0-f0af-4f34-a8c6-2713248cacc1
- InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
- IwConfig:
-  lo        no wireless extensions.
- 
-  eth0      no wireless extensions.
- MachineType: Hewlett-Packard HP dx5150 MT
- ProcEnviron:
-  PATH=(custom, no user)
-  LANG=en_US.UTF-8
-  SHELL=/bin/bash
- ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-11-generic root=UUID=7649d274-b118-4ac7-b7c8-2fb7e42094bf ro quiet splash irqpoll vt.handoff=7
- RelatedPackageVersions:
-  linux-restricted-modules-3.0.0-11-generic N/A
-  linux-backports-modules-3.0.0-11-generic  N/A
-  linux-firmware                            1.60
- RfKill:
- 
- SourcePackage: linux
- UpgradeStatus: Upgraded to oneiric on 2011-09-20 (0 days ago)
- dmi.bios.date: 08/01/2006
- dmi.bios.vendor: Phoenix Technologies, LTD
- dmi.bios.version: 1.18
- dmi.board.name: 09AC
- dmi.board.vendor: MSI
- dmi.chassis.asset.tag: 2UA63214R9
- dmi.chassis.type: 3
- dmi.chassis.vendor: Hewlett-Packard
- dmi.modalias: dmi:bvnPhoenixTechnologies,LTD:bvr1.18:bd08/01/2006:svnHewlett-Packard:pnHPdx5150MT:pvr:rvnMSI:rn09AC:rvr:cvnHewlett-Packard:ct3:cvr:
- dmi.product.name: HP dx5150 MT
- dmi.sys.vendor: Hewlett-Packard
+ Any testing is very welcome.

** Tags added: kernel-bug patch-forwarded-upstream

-- 
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Mythbuntu.
https://bugs.launchpad.net/bugs/855199

Title:
  "irqfixup" and "irqpoll" broken since 2.6.39

Status in The Linux Kernel:
  Confirmed
Status in Mythbuntu, Ubuntu derivative focused upon MythTV:
  Confirmed
Status in “linux” package in Ubuntu:
  Triaged

Bug description:
  In all kernels since 2.6.39, the "irqfixup" and "irqpoll" options are
  no longer taking effect.  I have several machines that need to boot
  with one of these options, and I see reports of this regression from
  multiple other users.

  The interrupts now generate the same errors seen without these kernel
  options, e.g.:

    irq 19: nobody cared (try booting with the "irqpoll" option)

  even though irqpoll, or irqfixup, is used.

  The Linux irq code was reworked during the 2.6.39 cycle.  I have gone
  through the patches, and this is the commit where the regression
  arrives:

    commit d05c65fff0ef672be75429266751f0e015b54d94

  http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=d05c65fff0ef672be75429266751f0e015b54d94

  I have a fix that works as far as i can test it, and I've now
  submitted a patch.

  The problem commit added a test to the bad-irq routines, checking
  whether they were already running. One of these tests had an "=="
  operator, where it seems to need "!=", not equal. Making that one
  change in kernel/irq/spurious.c fixes the regression for me. I've
  tested it successfully it on various kernels, including the current
  Oneiric source.

  The submitted patch is attached. And here it is on LKML:

    https://lkml.org/lkml/2011/11/1/267

  Any testing is very welcome.

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/855199/+subscriptions