On Monday 13 February 2006 11:58, you wrote: > Hi, > > As I'm sure the drivers/net maintainers are well aware, SysKonnect constantly > update their sk98lin/sky2 driver without bothering to sync their changes with > the official linux kernel. > > I quickly downloaded driver version 8.31 from http://www.skd.de/ today and > used the install script to generate a diff against 2.6.16-rc3. Even after > fixing up some DOS EOLs in the package, the diff was still well over 1.5MBs. > This is an enormous number of changes. > > The reason I'm posting is that my DFI LanParty-UT SLI-D works with this > version of the driver, but not the version 2.6.16-rc3. > > [alistair] 10:55 [~] dmesg | grep sk98lin > sk98lin: Could not read VPD data. > sk98lin: probe of 0000:01:0a.0 failed with error -5 > > I wonder if it's worth just identifying the "quick fix" (I've seen workarounds > for corrupt VPDs like mine) or whether a general merge up would be > beneficial.. > > If nobody's maintaining this driver I wouldn't mind helping out. > hi, as i do have the same problem i may help you out. at first, syskonnect did send their kernel diffs/patches but they we're rejected caused by coding style, indention and some people thinking that things can be done better. i personally do apply these drivers with the generate patch function of the install.sh. there were small modifications within kernel 2.6.16 with i also sended as a diff to syskonnect, but got not reply. i attached the diff, maybe it helps ya out. it works with my 2 onboard marvell yukon gbit adapters. regards marcel
diff -ruN linux/drivers/net/sk98lin/h/skdrv2nd.h linux-new/drivers/net/sk98lin/h/skdrv2nd.h --- linux/drivers/net/sk98lin/h/skdrv2nd.h 2006-01-18 10:11:04.000000000 +0100 +++ linux-new/drivers/net/sk98lin/h/skdrv2nd.h 2005-09-29 10:26:12.000000000 +0200 @@ -61,7 +61,7 @@ #ifdef HAVE_POLL_CONTROLLER #define SK_POLL_CONTROLLER #define CONFIG_SK98LIN_NAPI +#elif defined CONFIG_NET_POLL_CONTROLLER -#elif CONFIG_NET_POLL_CONTROLLER #define SK_POLL_CONTROLLER #define CONFIG_SK98LIN_NAPI #endif diff -ruN linux/drivers/net/sk98lin/skge.c linux-new/drivers/net/sk98lin/skge.c --- linux/drivers/net/sk98lin/skge.c 2006-01-18 10:22:44.000000000 +0100 +++ linux-new/drivers/net/sk98lin/skge.c 2005-09-29 10:26:12.000000000 +0200 @@ -107,7 +107,7 @@ static int __devinit sk98lin_init_device(struct pci_dev *pdev, const struct pci_device_id *ent); static void sk98lin_remove_device(struct pci_dev *pdev); #ifdef CONFIG_PM +static int sk98lin_suspend(struct pci_dev *pdev, pm_message_t state); -static int sk98lin_suspend(struct pci_dev *pdev, u32 state); static int sk98lin_resume(struct pci_dev *pdev); static void SkEnableWOMagicPacket(SK_AC *pAC, SK_IOC IoC, SK_MAC_ADDR MacAddr); #endif @@ -971,7 +971,7 @@ */ static int sk98lin_suspend( struct pci_dev *pdev, /* pointer to the device that is to suspend */ +pm_message_t state) /* what power state is desired by Linux? */ -u32 state) /* what power state is desired by Linux? */ { struct net_device *dev = pci_get_drvdata(pdev); DEV_NET *pNet = (DEV_NET*) dev->priv; @@ -1024,7 +1024,7 @@ #else pci_save_state(pdev, pAC->PciState); #endif + pci_set_power_state(pdev, pci_choose_state(pdev, state)); /* set the state */ - pci_set_power_state(pdev, state); /* set the state */ return 0; } diff -ruN linux/drivers/net/sk98lin/sky2.c linux-new/drivers/net/sk98lin/sky2.c --- linux/drivers/net/sk98lin/sky2.c 2006-01-18 10:51:36.000000000 +0100 +++ linux-new/drivers/net/sk98lin/sky2.c 2005-09-29 10:26:12.000000000 +0200 @@ -33,7 +33,7 @@ #include "h/skdrv1st.h" #include "h/skdrv2nd.h" #include <linux/tcp.h> +#include <linux/ip.h> - /****************************************************************************** * * Local Function Prototypes @@ -337,7 +337,7 @@ PUSH_PKT_AS_LAST_IN_QUEUE(&pAC->TxPort[Port][0].TxQ_free, pSkPacket); POP_FIRST_PKT_FROM_QUEUE(&pAC->TxPort[Port][0].TxAQ_working, pSkPacket); } +#ifdef USE_SYNC_TX_QUEUE -#if USE_SYNC_TX_QUEUE POP_FIRST_PKT_FROM_QUEUE(&pAC->TxPort[Port][0].TxSQ_working, pSkPacket); while (pSkPacket != NULL) { if ((pSkFrag = pSkPacket->pFrag) != NULL) { @@ -902,7 +902,7 @@ pAC->TxPort[Port][TX_PRIO_LOW].TxAQ_waiting.pTail = NULL; spin_lock_init(&pAC->TxPort[Port][TX_PRIO_LOW].TxAQ_waiting.QueueLock); +#ifdef USE_SYNC_TX_QUEUE -#if USE_SYNC_TX_QUEUE pAC->TxPort[Port][TX_PRIO_LOW].TxSQ_working.pHead = NULL; pAC->TxPort[Port][TX_PRIO_LOW].TxSQ_working.pTail = NULL; spin_lock_init(&pAC->TxPort[Port][TX_PRIO_LOW].TxSQ_working.QueueLock); @@ -2311,7 +2311,7 @@ SK_DBG_MSG(pAC, SK_DBGMOD_DRV, SK_DBGCAT_DRV_INT_SRC, ("No changes for TxA%d\n", Port + 1)); } +#ifdef USE_SYNC_TX_QUEUE -#if USE_SYNC_TX_QUEUE if (HW_SYNC_TX_SUPPORTED(pAC)) { /* ** Do we have a new Done idx ?
Attachment:
pgpDZcxi0CoDV.pgp
Description: PGP signature
- Follow-Ups:
- Re: 2.6.16, sk98lin out of date
- From: Lee Revell <[email protected]>
- Re: 2.6.16, sk98lin out of date
- References:
- 2.6.16, sk98lin out of date
- From: Alistair John Strachan <[email protected]>
- 2.6.16, sk98lin out of date
- Prev by Date: Re: 2.6.16, sk98lin out of date
- Next by Date: Re: 2.6.16, sk98lin out of date
- Previous by thread: Re: 2.6.16, sk98lin out of date
- Next by thread: Re: 2.6.16, sk98lin out of date
- Index(es):