* commit 0bdb0bd0 breaks shutdown/reboot
@ 2011-11-07 15:31 Dominik Brodowski
2011-11-07 16:13 ` Stephen Hemminger
0 siblings, 1 reply; 6+ messages in thread
From: Dominik Brodowski @ 2011-11-07 15:31 UTC (permalink / raw)
To: shemminger, davem; +Cc: netdev
Hey,
since commit 0bdb0bd0 -- sky2: manage irq better on single port card -- my
laptop fails to reboot or shutdown. Reverting this commit fixes the issue.
03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8039 PCI-E Fast Ethernet Controller (rev 15)
Subsystem: Samsung Electronics Co Ltd Device c510
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 43
Region 0: Memory at f0200000 (64-bit, non-prefetchable) [size=16K]
Region 2: I/O ports at 2000 [size=256]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data
Product Name: Marvell Yukon 88E8039 Fast Ethernet Controller
Read-only fields:
[PN] Part number: Yukon 88E8039
[EC] Engineering changes: Rev. 1.5
<snip>
[CP] Extended capability: 01 10 cc 03
[RV] Reserved: checksum good, 12 byte(s) reserved
Read/write fields:
[RW] Read-write area: 121 byte(s) free
End
Capabilities: [5c] MSI: Enable+ Count=1/2 Maskable- 64bit+
Address: 00000000fee0300c Data: 4171
Capabilities: [e0] Express (v1) Legacy Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 <256ns, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
CESta: RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
AERCap: First Error Pointer: 1f, GenCap- CGenEn- ChkCap- ChkEn-
Kernel driver in use: sky2
Best,
Dominik
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: commit 0bdb0bd0 breaks shutdown/reboot
2011-11-07 15:31 commit 0bdb0bd0 breaks shutdown/reboot Dominik Brodowski
@ 2011-11-07 16:13 ` Stephen Hemminger
2011-11-07 16:32 ` Dominik Brodowski
0 siblings, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2011-11-07 16:13 UTC (permalink / raw)
To: Dominik Brodowski; +Cc: davem, netdev
Does this help?
Subject: sky2: block irq's on down
Need to block IRQ's from phy changes to prevent stray IRQ's when
device is down.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
--- a/drivers/net/ethernet/marvell/sky2.c 2011-11-04 15:01:51.310888300 -0700
+++ b/drivers/net/ethernet/marvell/sky2.c 2011-11-07 08:10:05.065118917 -0800
@@ -2106,15 +2106,20 @@ static int sky2_down(struct net_device *
netif_info(sky2, ifdown, dev, "disabling interface\n");
- /* Disable port IRQ */
- sky2_write32(hw, B0_IMSK,
- sky2_read32(hw, B0_IMSK) & ~portirq_msk[sky2->port]);
- sky2_read32(hw, B0_IMSK);
-
if (hw->ports == 1) {
+ sky2_write32(hw, B0_IMSK, 0);
+ sky2_read32(hw, B0_IMSK);
+
napi_disable(&hw->napi);
free_irq(hw->pdev->irq, hw);
} else {
+ /* Disable port IRQ */
+ u32 imsk = sky2_read32(hw, B0_IMSK);
+
+ imsk &= ~portirq_msk[sky2->port];
+ sky2_write32(hw, B0_IMSK, imsk);
+ sky2_read32(hw, B0_IMSK);
+
synchronize_irq(hw->pdev->irq);
napi_synchronize(&hw->napi);
}
@@ -5017,19 +5022,19 @@ static void __devexit sky2_remove(struct
for (i = hw->ports-1; i >= 0; --i)
unregister_netdev(hw->dev[i]);
- sky2_write32(hw, B0_IMSK, 0);
- sky2_read32(hw, B0_IMSK);
-
sky2_power_aux(hw);
- sky2_write8(hw, B0_CTST, CS_RST_SET);
- sky2_read8(hw, B0_CTST);
-
if (hw->ports > 1) {
+ sky2_write32(hw, B0_IMSK, 0);
+ sky2_read32(hw, B0_IMSK);
+
napi_disable(&hw->napi);
free_irq(pdev->irq, hw);
}
+ sky2_write8(hw, B0_CTST, CS_RST_SET);
+ sky2_read8(hw, B0_CTST);
+
if (hw->flags & SKY2_HW_USE_MSI)
pci_disable_msi(pdev);
pci_free_consistent(pdev, hw->st_size * sizeof(struct sky2_status_le),
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: commit 0bdb0bd0 breaks shutdown/reboot
2011-11-07 16:13 ` Stephen Hemminger
@ 2011-11-07 16:32 ` Dominik Brodowski
2011-11-07 16:45 ` Stephen Hemminger
0 siblings, 1 reply; 6+ messages in thread
From: Dominik Brodowski @ 2011-11-07 16:32 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: davem, netdev
On Mon, Nov 07, 2011 at 08:13:16AM -0800, Stephen Hemminger wrote:
> Does this help?
Unfortunately, no. Reboots still fail.
>
> Subject: sky2: block irq's on down
>
> Need to block IRQ's from phy changes to prevent stray IRQ's when
> device is down.
>
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Thanks anyway,
Dominik
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: commit 0bdb0bd0 breaks shutdown/reboot
2011-11-07 16:32 ` Dominik Brodowski
@ 2011-11-07 16:45 ` Stephen Hemminger
2011-11-07 17:08 ` Dominik Brodowski
0 siblings, 1 reply; 6+ messages in thread
From: Stephen Hemminger @ 2011-11-07 16:45 UTC (permalink / raw)
To: Dominik Brodowski; +Cc: davem, netdev
On Mon, 7 Nov 2011 17:32:27 +0100
Dominik Brodowski <linux@dominikbrodowski.net> wrote:
> On Mon, Nov 07, 2011 at 08:13:16AM -0800, Stephen Hemminger wrote:
> > Does this help?
>
> Unfortunately, no. Reboots still fail.
>
> >
> > Subject: sky2: block irq's on down
> >
> > Need to block IRQ's from phy changes to prevent stray IRQ's when
> > device is down.
> >
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>
> Thanks anyway,
> Dominik
Are you using Wake On Lan?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: commit 0bdb0bd0 breaks shutdown/reboot
2011-11-07 16:45 ` Stephen Hemminger
@ 2011-11-07 17:08 ` Dominik Brodowski
2011-11-08 0:57 ` Stephen Hemminger
0 siblings, 1 reply; 6+ messages in thread
From: Dominik Brodowski @ 2011-11-07 17:08 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: davem, netdev
On Mon, Nov 07, 2011 at 08:45:40AM -0800, Stephen Hemminger wrote:
> On Mon, 7 Nov 2011 17:32:27 +0100
> Dominik Brodowski <linux@dominikbrodowski.net> wrote:
>
> > On Mon, Nov 07, 2011 at 08:13:16AM -0800, Stephen Hemminger wrote:
> > > Does this help?
> >
> > Unfortunately, no. Reboots still fail.
> >
> > >
> > > Subject: sky2: block irq's on down
> > >
> > > Need to block IRQ's from phy changes to prevent stray IRQ's when
> > > device is down.
> > >
> > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> >
> > Thanks anyway,
> > Dominik
>
> Are you using Wake On Lan?
Not that I'm aware of. Explicitly disabling WOL by
$ ethtool -s eth0 wol d
does not help, though.
Best,
Dominik
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: commit 0bdb0bd0 breaks shutdown/reboot
2011-11-07 17:08 ` Dominik Brodowski
@ 2011-11-08 0:57 ` Stephen Hemminger
0 siblings, 0 replies; 6+ messages in thread
From: Stephen Hemminger @ 2011-11-08 0:57 UTC (permalink / raw)
To: Dominik Brodowski; +Cc: davem, netdev
I can reproduce on my laptop, let me investigate.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-11-08 0:57 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-07 15:31 commit 0bdb0bd0 breaks shutdown/reboot Dominik Brodowski
2011-11-07 16:13 ` Stephen Hemminger
2011-11-07 16:32 ` Dominik Brodowski
2011-11-07 16:45 ` Stephen Hemminger
2011-11-07 17:08 ` Dominik Brodowski
2011-11-08 0:57 ` Stephen Hemminger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).