Commit 5f99d385 authored by Mirko Lindner's avatar Mirko Lindner Committed by Jeff Garzik

[PATCH] sk98lin: Reset Xmac when stopping the port

* Clear the Xmac fifo before stopping the port
parent 7704432c
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,14 @@
#ifdef lint #ifdef lint
static const char SysKonnectFileId[] = "@(#) (C) SysKonnect GmbH."; static const char SysKonnectFileId[] = "@(#) (C) SysKonnect GmbH.";
static const char SysKonnectBuildNumber[] = static const char SysKonnectBuildNumber[] =
"@(#)SK-BUILD: 6.21 PL: 01"; "@(#)SK-BUILD: 6.22 PL: 01";
#endif /* !defined(lint) */ #endif /* !defined(lint) */
#define BOOT_STRING "sk98lin: Network Device Driver v6.21\n" \ #define BOOT_STRING "sk98lin: Network Device Driver v6.22\n" \
"(C)Copyright 1999-2003 Marvell(R)." "(C)Copyright 1999-2004 Marvell(R)."
#define VER_STRING "6.21" #define VER_STRING "6.22"
#define DRIVER_FILE_NAME "sk98lin" #define DRIVER_FILE_NAME "sk98lin"
#define DRIVER_REL_DATE "Dec-15-2003" #define DRIVER_REL_DATE "Jan-30-2004"
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* *
* Name: skge.c * Name: skge.c
* Project: GEnesis, PCI Gigabit Ethernet Adapter * Project: GEnesis, PCI Gigabit Ethernet Adapter
* Version: $Revision: 1.42 $ * Version: $Revision: 1.43 $
* Date: $Date: 2003/12/12 10:05:43 $ * Date: $Date: 2004/01/29 15:47:07 $
* Purpose: The main driver source module * Purpose: The main driver source module
* *
******************************************************************************/ ******************************************************************************/
...@@ -41,6 +41,9 @@ ...@@ -41,6 +41,9 @@
* History: * History:
* *
* $Log: skge.c,v $ * $Log: skge.c,v $
* Revision 1.43 2004/01/29 15:47:07 mlindner
* Fix: Reset Xmac when stopping the port
*
* Revision 1.42 2003/12/12 10:05:43 mlindner * Revision 1.42 2003/12/12 10:05:43 mlindner
* Fix: Format of error message corrected * Fix: Format of error message corrected
* *
...@@ -2154,6 +2157,7 @@ struct SK_NET_DEVICE *dev) ...@@ -2154,6 +2157,7 @@ struct SK_NET_DEVICE *dev)
EvPara.Para32[0] = pNet->NetNr; EvPara.Para32[0] = pNet->NetNr;
EvPara.Para32[1] = -1; EvPara.Para32[1] = -1;
SkEventQueue(pAC, SKGE_RLMT, SK_RLMT_STOP, EvPara); SkEventQueue(pAC, SKGE_RLMT, SK_RLMT_STOP, EvPara);
SkPnmiEvent(pAC, pAC->IoBase, SK_PNMI_EVT_XMAC_RESET, EvPara);
SkEventDispatcher(pAC, pAC->IoBase); SkEventDispatcher(pAC, pAC->IoBase);
spin_unlock_irqrestore(&pAC->SlowPathLock, Flags); spin_unlock_irqrestore(&pAC->SlowPathLock, Flags);
...@@ -5002,6 +5006,7 @@ SK_BOOL DualNet; ...@@ -5002,6 +5006,7 @@ SK_BOOL DualNet;
spin_lock_irqsave( spin_lock_irqsave(
&pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock, &pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock,
Flags); Flags);
SkGeStopPort(pAC, IoC, FromPort, SK_STOP_ALL, SK_HARD_RST); SkGeStopPort(pAC, IoC, FromPort, SK_STOP_ALL, SK_HARD_RST);
pAC->dev[Param.Para32[0]]->flags &= ~IFF_RUNNING; pAC->dev[Param.Para32[0]]->flags &= ~IFF_RUNNING;
spin_unlock_irqrestore( spin_unlock_irqrestore(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment