netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).