Re: regression caused by: genirq: do not leave interupts enabled on free_irq

From: Yinghai Lu
Date: Fri Apr 11 2008 - 14:22:19 EST


On Fri, Apr 11, 2008 at 12:30 AM, Eric W. Biederman
<ebiederm@xxxxxxxxxxxx> wrote:
>
>
> On Fri, 2008-04-11 at 00:17 -0700, Yinghai Lu wrote:
> > On Fri, Apr 11, 2008 at 12:14 AM, Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
> > > On Fri, Apr 11, 2008 at 12:01 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> > > > On Thu, 10 Apr 2008, Yinghai Lu wrote:
> > > > > last week found:
> > > > > after latest kernel kexec RHEL 5.1 or other stack kernel, the nvidia
> > > > > forcedeth doesn't work anymore.
> > > > >
> > > > > I stared at forcedeth.c two days. and revert every patches about that
> > > > > doesn't help.
> > > >
> > > > So forcedeth does not come up again, when you kexec from linus.git
> > > > into an older distro kernel. Or is it the other way round ?
> > > RHEL 5.1 kexec RHEL 5.1 : works
> > > RHEL 5.1 kexec linus kernel: works
> > > linus (after -rc2) kexec linus tree: works:
> > > linus (after -rc2) kexec RHEL 5.1 : forcedeth will not come up
> > > linus ( before -rc2 include rc2) kexec RHEL 5.1 works
> > >
> > the forcedeth can not get IP address...
>
> Sounds like you are not getting any interrupts when you receive a
> packet. (i.e. The interrupt line is staying disabled).
>
> Is MSI an option here? I'm wondering if we disable the MSI and
> something is not enabling it.



after
setpci -s 0x00:08.0 0x60.b=0xfe

the eth0 can get ip address with ifup eth0.

YH
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
Subsystem: nVidia Corporation Unknown device cb84
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 233
Region 0: Memory at defba000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at 8400 [size=8]
Region 2: Memory at defbe800 (32-bit, non-prefetchable) [size=256]
Region 3: Memory at defbe400 (32-bit, non-prefetchable) [size=16]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
Capabilities: [70] MSI-X: Enable- Mask- TabSize=8
Vector table: BAR=2 offset=00000000
PBA: BAR=3 offset=00000000
Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
Address: 00000000fee04000 Data: 406a
Capabilities: [6c] HyperTransport: MSI Mapping
00: de 10 73 03 07 00 b0 00 a3 00 80 06 00 00 00 00
10: 00 a0 fb de 01 84 00 00 00 e8 fb de 00 e4 fb de
20: 00 00 00 00 00 00 00 00 00 00 00 00 de 10 84 cb
30: 00 00 00 00 44 00 00 00 00 00 00 00 0a 01 01 14
40: de 10 84 cb 01 70 02 fe 00 01 00 00 0c 00 00 00
50: 05 6c 86 01 00 40 e0 fe 00 00 00 00 6a 40 00 00
60: ff 00 00 00 00 00 00 00 ff 00 00 00 08 00 03 a8
70: 11 50 07 00 02 00 00 00 03 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 11 00 00 00 52 01 00 00 00 00 00 00

00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
Subsystem: nVidia Corporation Unknown device cb84
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (250ns min, 5000ns max)
Interrupt: pin A routed to IRQ 106
Region 0: Memory at defba000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at 8400 [size=8]
Region 2: Memory at defbe800 (32-bit, non-prefetchable) [size=256]
Region 3: Memory at defbe400 (32-bit, non-prefetchable) [size=16]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=0 PME-
Capabilities: [70] MSI-X: Enable- Mask- TabSize=8
Vector table: BAR=2 offset=00000000
PBA: BAR=3 offset=00000000
Capabilities: [50] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable+
Address: 00000000fee07000 Data: 406a
Capabilities: [6c] HyperTransport: MSI Mapping
00: de 10 73 03 07 00 b0 00 a3 00 80 06 00 00 00 00
10: 00 a0 fb de 01 84 00 00 00 e8 fb de 00 e4 fb de
20: 00 00 00 00 00 00 00 00 00 00 00 00 de 10 84 cb
30: 00 00 00 00 44 00 00 00 00 00 00 00 0a 01 01 14
40: de 10 84 cb 01 70 02 fe 00 01 00 00 0c 00 00 00
50: 05 6c 87 01 00 70 e0 fe 00 00 00 00 6a 40 00 00
60: fe 00 00 00 00 00 00 00 ff 00 00 00 08 00 03 a8
70: 11 50 07 00 02 00 00 00 03 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 11 00 00 00 52 01 00 00 00 00 00 00