lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 21 Feb 2008 22:46:31 +0300
From:	Andrey Borzenkov <arvidjaar@...l.ru>
To:	"Kok, Auke" <auke-jan.h.kok@...el.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	e1000-devel@...ts.sourceforge.net, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [2.6.25-rc2] e100: Trying to free already-free IRQ 11 during suspend ...

On Thursday 21 February 2008, Kok, Auke wrote:
> Kok, Auke wrote:
> > Kok, Auke wrote:
> >> Andrew Morton wrote:
> >>> On Sun, 17 Feb 2008 15:36:50 +0300 Andrey Borzenkov <arvidjaar@...l.ru> wrote:
> >>>
> >>>> ... and possibly reboot/poweroff (it flows by too fast to be legible).
> >>>>
> >>>> [ 8803.850634] ACPI: Preparing to enter system sleep state S3
> >>>> [ 8803.853141] Suspending console(s)
> >>>> [ 8805.287505] serial 00:09: disabled
> >>>> [ 8805.291564] Trying to free already-free IRQ 11
> >>>> [ 8805.291579] Pid: 6920, comm: pm-suspend Not tainted 2.6.25-rc2-1avb #2
> >>>> [ 8805.291628]  [<c0152127>] free_irq+0xb7/0x130
> >>>> [ 8805.291675]  [<c024bd80>] e100_suspend+0xc0/0x100
> >>>> [ 8805.291724]  [<c01eaa36>] pci_device_suspend+0x26/0x70
> >>>> [ 8805.291747]  [<c0243674>] suspend_device+0x94/0xd0
> >>>> [ 8805.291763]  [<c02439a3>] device_suspend+0x153/0x240
> >>>> [ 8805.291784]  [<c014314f>] suspend_devices_and_enter+0x4f/0xf0
> >>>> [ 8805.291808]  [<c0143a5f>] ? freeze_processes+0x3f/0x80
> >>>> [ 8805.291825]  [<c01432fa>] enter_state+0xaa/0x140
> >>>> [ 8805.291840]  [<c014341f>] state_store+0x8f/0xd0
> >>>> [ 8805.291852]  [<c0143390>] ? state_store+0x0/0xd0
> >>>> [ 8805.291866]  [<c01d3404>] kobj_attr_store+0x24/0x30
> >>>> [ 8805.291901]  [<c01b547b>] sysfs_write_file+0xbb/0x110
> >>>> [ 8805.291936]  [<c0177d79>] vfs_write+0x99/0x130
> >>>> [ 8805.291963]  [<c01b53c0>] ? sysfs_write_file+0x0/0x110
> >>>> [ 8805.291979]  [<c01782fd>] sys_write+0x3d/0x70
> >>>> [ 8805.291998]  [<c010409a>] sysenter_past_esp+0x5f/0xa5
> >>>> [ 8805.292038]  =======================
> >>>> [ 8805.347640] ACPI: PCI interrupt for device 0000:00:06.0 disabled
> >>>> [ 8805.361128] ACPI: PCI interrupt for device 0000:00:02.0 disabled
> >>>> [ 8805.376670]  hwsleep-0322 [00] enter_sleep_state     : Entering sleep state [S3]
> >>>> [ 8805.376670] Back to C!
> >>>>
> >>>> Interface is unused normally (only for netconsole sometimes). dmesg and config
> >>>> attached.
> >>> Does reverting this:
> >>>
> >>> commit 8543da6672b0994921f014f2250e27ae81645580
> >>> Author: Auke Kok <auke-jan.h.kok@...el.com>
> >>> Date:   Wed Dec 12 16:30:42 2007 -0800
> >>>
> >>>     e100: free IRQ to remove warningwhenrebooting
> >>>     
> >>> with this patch:
> >>>
> >>> --- a/drivers/net/e100.c~revert-1
> >>> +++ a/drivers/net/e100.c
> >>> @@ -2804,9 +2804,8 @@ static int e100_suspend(struct pci_dev *
> >>>  		pci_enable_wake(pdev, PCI_D3cold, 0);
> >>>  	}
> >>>  
> >>> -	free_irq(pdev->irq, netdev);
> >>> -
> >>>  	pci_disable_device(pdev);
> >>> +	free_irq(pdev->irq, netdev);
> >>>  	pci_set_power_state(pdev, PCI_D3hot);
> >>>  
> >>>  	return 0;
> >>> @@ -2848,8 +2847,6 @@ static void e100_shutdown(struct pci_dev
> >>>  		pci_enable_wake(pdev, PCI_D3cold, 0);
> >>>  	}
> >>>  
> >>> -	free_irq(pdev->irq, netdev);
> >>> -
> >>>  	pci_disable_device(pdev);
> >>>  	pci_set_power_state(pdev, PCI_D3hot);
> >>>  }
> >>> _
> >>>
> >>> fix it?
> >>>
> >>>> Hmm ... after resume device has disappeared at all ...
> >>>>
> >>>> {pts/1}% cat /proc/interrupts
> >>>>            CPU0
> >>>>   0:    1290492    XT-PIC-XT        timer
> >>>>   1:       6675    XT-PIC-XT        i8042
> >>>>   2:          0    XT-PIC-XT        cascade
> >>>>   3:          2    XT-PIC-XT
> >>>>   4:          2    XT-PIC-XT
> >>>>   5:          3    XT-PIC-XT
> >>>>   7:          4    XT-PIC-XT        irda0
> >>>>   8:          0    XT-PIC-XT        rtc0
> >>>>   9:        583    XT-PIC-XT        acpi
> >>>>  10:          2    XT-PIC-XT
> >>>>  11:      31483    XT-PIC-XT        yenta, yenta, yenta, ohci_hcd:usb1, ALI 5451, pcmcia0.0
> >>>>  12:      28070    XT-PIC-XT        i8042
> >>>>  14:      21705    XT-PIC-XT        ide0
> >>>>  15:      82123    XT-PIC-XT        ide1
> >>>> NMI:          0   Non-maskable interrupts
> >>>> TRM:          0   Thermal event interrupts
> >>>> SPU:          0   Spurious interrupts
> >>>> ERR:          0
> >>> I hope that's not a separate bug...
> >> I'll take a look at this as well. thanks for reporting.
> > 
> > ok, I just had a repro - on a regular shutdown even.
> > 
> > this always worked before - I'm not blaming anything yet but something in the pci
> > shutdown code must now be freeing our irq for us (I'm not using anything fancy to
> > autoconfigure my network here).
> > 
> > I definately do not see this with 2.6.24 either.
> 
> can you try this patch please? It rewrites e100 to do suspend/shutdown just like
> e1000e does, which is much more tested than anything else. I don't get the IRQ
> message anymore - but I haven't gotten to testing suspend/resume just yet.
> 

Yes it fixes it.


Download attachment "signature.asc " of type "application/pgp-signature" (198 bytes)

Powered by blists - more mailing lists