Re: [git patches] net driver updates

2008-02-25 Thread Jeff Garzik

Divy Le Ray wrote:

From: Divy Le Ray [EMAIL PROTECTED]
Date: Wed, 20 Feb 2008 21:57:08 -0800


The driver is cxgb3 here, it uses LLTX.

That's extremely unfortunate, hopefully you can update it to
use a model like tg3 and others use.  LLTX is a lost cause
for hardware device drivers, and in fact we'd like to remove
it tree wide eventually.


It sounds like I messed up.
cxgb3 does not use LLTX - The Chelsio driver does, thus should be
converted.


So, it sounds like Krishna's patch is ok, because the race does not 
exist anymore in this driver?


Jeff



--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-25 Thread Jeff Garzik

Marin Mitov wrote:

On Tuesday 26 February 2008 12:59:04 am you wrote:

Divy Le Ray wrote:

From: Divy Le Ray [EMAIL PROTECTED]
Date: Wed, 20 Feb 2008 21:57:08 -0800


The driver is cxgb3 here, it uses LLTX.

That's extremely unfortunate, hopefully you can update it to
use a model like tg3 and others use.  LLTX is a lost cause
for hardware device drivers, and in fact we'd like to remove
it tree wide eventually.


Just for info: loopback.c uses it too :-)


Yes, we're all aware of this.  Google for david miller loopback lltx 
for a few examples...


Also, please do not strip CC's, that's quite annoying.

Jeff



--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-25 Thread Jeff Garzik

Divy Le Ray wrote:




So, it sounds like Krishna's patch is ok, because the race does not 
exist anymore in this driver?
The first part is right indeed, but the second part is breaking the 
current usage of txq_stopped and

the logic that stops and restarts the Tx queue.
I can submit a patch fixing it. Plese let me know what's more convenient 
for you.


At this point, yes a fix (with a good patch description) would be 
preferred...


Thanks,

Jeff



--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-25 Thread Divy Le Ray




So, it sounds like Krishna's patch is ok, because the race does not 
exist anymore in this driver?
The first part is right indeed, but the second part is breaking the 
current usage of txq_stopped and

the logic that stops and restarts the Tx queue.
I can submit a patch fixing it. Plese let me know what's more convenient 
for you.


Cheers,
Divy
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-20 Thread Jeff Garzik

Divy Le Ray wrote:

Jeff Garzik wrote:

Mostly fixes, a few cleanups (generally assisting fixes), and an
exception for PS3 wireless because it had been posted, reviewed and
acked for a while, just not committed.

Please pull from 'upstream-davem' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-davem


to receive the following updates:

 
 drivers/net/cxgb3/sge.c  |   35 +-
   
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c

index 9ca8c66..979f3fc 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter 
*adap, struct sk_buff *skb,

  htonl(V_WR_TID(q-token)));
 }
 
+static inline void t3_stop_queue(struct net_device *dev, struct 
sge_qset *qs,

+ struct sge_txq *q)
+{
+netif_stop_queue(dev);
+set_bit(TXQ_ETH, qs-txq_stopped);
+q-stops++;
+}
+
 /**
  *eth_xmit - add a packet to the Ethernet Tx queue
  *@skb: the packet
@@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct 
net_device *dev)

 ndesc = calc_tx_descs(skb);
 
 if (unlikely(credits  ndesc)) {

-if (!netif_queue_stopped(dev)) {
-netif_stop_queue(dev);
-set_bit(TXQ_ETH, qs-txq_stopped);
-q-stops++;
-dev_err(adap-pdev-dev,
-%s: Tx ring %u full while queue awake!\n,
-dev-name, q-cntxt_id  7);
-}
+t3_stop_queue(dev, qs, q);
+dev_err(adap-pdev-dev,
+%s: Tx ring %u full while queue awake!\n,
+dev-name, q-cntxt_id  7);
 spin_unlock(q-lock);
 return NETDEV_TX_BUSY;
 }
 
 q-in_use += ndesc;

-if (unlikely(credits - ndesc  q-stop_thres)) {
-q-stops++;
-netif_stop_queue(dev);
-set_bit(TXQ_ETH, qs-txq_stopped);
-#if !USE_GTS
-if (should_restart_tx(q) 
-test_and_clear_bit(TXQ_ETH, qs-txq_stopped)) {
-q-restarts++;
-netif_wake_queue(dev);
-}
-#endif
-}
+if (unlikely(credits - ndesc  q-stop_thres))
+if (USE_GTS || !should_restart_tx(q))
+t3_stop_queue(dev, qs, q);
 
 gen = q-gen;

 q-unacked += ndesc;
  

Hi Jeff,

I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar.
Looking back at my answer at the time, I was obviously unclear.
Can you please revert the drivers/net/cxgb3sge.c change ?


Explain why, so I can include it in the changelog please...

Jeff




--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-20 Thread Divy Le Ray

Jeff Garzik wrote:

Divy Le Ray wrote:

Jeff Garzik wrote:

Mostly fixes, a few cleanups (generally assisting fixes), and an
exception for PS3 wireless because it had been posted, reviewed and
acked for a while, just not committed.

Please pull from 'upstream-davem' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-davem


to receive the following updates:

 
 drivers/net/cxgb3/sge.c  |   35 +-

   diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index 9ca8c66..979f3fc 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter 
*adap, struct sk_buff *skb,

  htonl(V_WR_TID(q-token)));
 }
 
+static inline void t3_stop_queue(struct net_device *dev, struct 
sge_qset *qs,

+ struct sge_txq *q)
+{
+netif_stop_queue(dev);
+set_bit(TXQ_ETH, qs-txq_stopped);
+q-stops++;
+}
+
 /**
  *eth_xmit - add a packet to the Ethernet Tx queue
  *@skb: the packet
@@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct 
net_device *dev)

 ndesc = calc_tx_descs(skb);
 
 if (unlikely(credits  ndesc)) {

-if (!netif_queue_stopped(dev)) {
-netif_stop_queue(dev);
-set_bit(TXQ_ETH, qs-txq_stopped);
-q-stops++;
-dev_err(adap-pdev-dev,
-%s: Tx ring %u full while queue awake!\n,
-dev-name, q-cntxt_id  7);
-}
+t3_stop_queue(dev, qs, q);
+dev_err(adap-pdev-dev,
+%s: Tx ring %u full while queue awake!\n,
+dev-name, q-cntxt_id  7);
 spin_unlock(q-lock);
 return NETDEV_TX_BUSY;
 }
 
 q-in_use += ndesc;

-if (unlikely(credits - ndesc  q-stop_thres)) {
-q-stops++;
-netif_stop_queue(dev);
-set_bit(TXQ_ETH, qs-txq_stopped);
-#if !USE_GTS
-if (should_restart_tx(q) 
-test_and_clear_bit(TXQ_ETH, qs-txq_stopped)) {
-q-restarts++;
-netif_wake_queue(dev);
-}
-#endif
-}
+if (unlikely(credits - ndesc  q-stop_thres))
+if (USE_GTS || !should_restart_tx(q))
+t3_stop_queue(dev, qs, q);
 
 gen = q-gen;

 q-unacked += ndesc;
  

Hi Jeff,

I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar.
Looking back at my answer at the time, I was obviously unclear.
Can you please revert the drivers/net/cxgb3sge.c change ?


Explain why, so I can include it in the changelog please...


Hi Jeff,

The first part of the patch removes the !netif_queue_stopped(dev).
It opens the race discussed a while ago between Stephen hemminger and 
David Miller:

http://marc.info/?l=linux-netdevm=113383224512427w=2

The second part of the patch breaks the current usage of txq_stopped and 
the logic that stops and restarts the Tx queue.


Cheers,
Divy

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-20 Thread Krishna Kumar2
Hi Divy,

  Explain why, so I can include it in the changelog please...

 Hi Jeff,

 The first part of the patch removes the !netif_queue_stopped(dev).
 It opens the race discussed a while ago between Stephen hemminger and
 David Miller:
 http://marc.info/?l=linux-netdevm=113383224512427w=2

I feel this race cannot happen anymore. I think the fix for that race was
to introduce the
__LINK_STATE_QDISC_RUNNING bit thus eliminating any races between CPU's. If
one
CPU has called xmit, the other CPU will enqueue skbs (by holding the
queue_lock) and
exit from qdisc_run since it finds the bit set already.

Thanks,

- KK

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-20 Thread David Miller
From: Krishna Kumar2 [EMAIL PROTECTED]
Date: Thu, 21 Feb 2008 09:13:49 +0530

 Hi Divy,
 
   Explain why, so I can include it in the changelog please...
 
  Hi Jeff,
 
  The first part of the patch removes the !netif_queue_stopped(dev).
  It opens the race discussed a while ago between Stephen hemminger and
  David Miller:
  http://marc.info/?l=linux-netdevm=113383224512427w=2
 
 I feel this race cannot happen anymore. I think the fix for that race was
 to introduce the
 __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between CPU's. If
 one
 CPU has called xmit, the other CPU will enqueue skbs (by holding the
 queue_lock) and
 exit from qdisc_run since it finds the bit set already.

And the race is talking about LLTX, which S2IO doesn't use as
far as I can tell.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [git patches] net driver updates

2008-02-20 Thread Divy Le Ray


 -Original Message-
 From: David Miller [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, February 20, 2008 9:47 PM
 To: [EMAIL PROTECTED]
 Cc: Divy Le Ray; [EMAIL PROTECTED]; [EMAIL PROTECTED];
 netdev@vger.kernel.org
 Subject: Re: [git patches] net driver updates
 
 From: Krishna Kumar2 [EMAIL PROTECTED]
 Date: Thu, 21 Feb 2008 09:13:49 +0530
 
  Hi Divy,
 
Explain why, so I can include it in the changelog please...
  
   Hi Jeff,
  
   The first part of the patch removes the !netif_queue_stopped(dev).
   It opens the race discussed a while ago between Stephen hemminger
 and
   David Miller:
   http://marc.info/?l=linux-netdevm=113383224512427w=2
 
  I feel this race cannot happen anymore. I think the fix for that
race
 was
  to introduce the
  __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between
 CPU's. If
  one
  CPU has called xmit, the other CPU will enqueue skbs (by holding the
  queue_lock) and
  exit from qdisc_run since it finds the bit set already.
 
 And the race is talking about LLTX, which S2IO doesn't use as
 far as I can tell.

Dave,

The driver is cxgb3 here, it uses LLTX.

Cheers,
Divy
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [git patches] net driver updates

2008-02-20 Thread Krishna Kumar2
Hi Divy,

But the race doesn't exist even for LLTX drivers these days. There is no
way two cpu's can execute the xmit handler at the same time.

Thanks,

- KK

The first part of the patch removes the !netif_queue_stopped(dev).
It opens the race discussed a while ago between Stephen hemminger
  and
David Miller:
http://marc.info/?l=linux-netdevm=113383224512427w=2
  
   I feel this race cannot happen anymore. I think the fix for that
 race
  was
   to introduce the
   __LINK_STATE_QDISC_RUNNING bit thus eliminating any races between
  CPU's. If
   one
   CPU has called xmit, the other CPU will enqueue skbs (by holding the
   queue_lock) and
   exit from qdisc_run since it finds the bit set already.
 
  And the race is talking about LLTX, which S2IO doesn't use as
  far as I can tell.

 Dave,

 The driver is cxgb3 here, it uses LLTX.

 Cheers,
 Divy

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-20 Thread David Miller
From: Divy Le Ray [EMAIL PROTECTED]
Date: Wed, 20 Feb 2008 21:57:08 -0800

 The driver is cxgb3 here, it uses LLTX.

That's extremely unfortunate, hopefully you can update it to
use a model like tg3 and others use.  LLTX is a lost cause
for hardware device drivers, and in fact we'd like to remove
it tree wide eventually.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [git patches] net driver updates

2008-02-20 Thread Divy Le Ray
 From: Divy Le Ray [EMAIL PROTECTED]
 Date: Wed, 20 Feb 2008 21:57:08 -0800
 
  The driver is cxgb3 here, it uses LLTX.
 
 That's extremely unfortunate, hopefully you can update it to
 use a model like tg3 and others use.  LLTX is a lost cause
 for hardware device drivers, and in fact we'd like to remove
 it tree wide eventually.

It sounds like I messed up.
cxgb3 does not use LLTX - The Chelsio driver does, thus should be
converted.

Divy
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-12 Thread Jeff Garzik

Ben Dooks wrote:

These two where meant to be from Laurent Pinchart, they do have
the correct signed-off lines in for him and start with Patch from:. Is
there any chance of fixing the authour attribution now?


The first line of the changeset mentions it.  Other than that, nope.

Jeff


--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-12 Thread Ben Dooks
On Mon, Feb 11, 2008 at 12:05:16PM -0500, Jeff Garzik wrote:
 Mostly fixes, a few cleanups (generally assisting fixes), and an
 exception for PS3 wireless because it had been posted, reviewed and
 acked for a while, just not committed.

Thanks, good to get the DM9000 changes moving.
 
 Please pull from 'upstream-davem' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-davem
 

 Ben Dooks (24):
   DM9000: Fix endian-ness of data accesses.
   DM9000: Add platform data to specify external phy

These two where meant to be from Laurent Pinchart, they do have
the correct signed-off lines in for him and start with Patch from:. Is
there any chance of fixing the authour attribution now?

-- 
Ben ([EMAIL PROTECTED], http://www.fluff.org/)

  'a smiley only costs 4 bytes'
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-11 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Mon, 11 Feb 2008 12:05:16 -0500

 Mostly fixes, a few cleanups (generally assisting fixes), and an
 exception for PS3 wireless because it had been posted, reviewed and
 acked for a while, just not committed.

 Please pull from 'upstream-davem' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-davem
 
 to receive the following updates:

Pulled, thanks a lot Jeff!
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-02-11 Thread Divy Le Ray

Jeff Garzik wrote:

Mostly fixes, a few cleanups (generally assisting fixes), and an
exception for PS3 wireless because it had been posted, reviewed and
acked for a while, just not committed.

Please pull from 'upstream-davem' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-davem

to receive the following updates:

 
 drivers/net/cxgb3/sge.c  |   35 +-
  
 
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c

index 9ca8c66..979f3fc 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -1059,6 +1059,14 @@ static void write_tx_pkt_wr(struct adapter *adap, struct 
sk_buff *skb,
 htonl(V_WR_TID(q-token)));
 }
 
+static inline void t3_stop_queue(struct net_device *dev, struct sge_qset *qs,

+struct sge_txq *q)
+{
+   netif_stop_queue(dev);
+   set_bit(TXQ_ETH, qs-txq_stopped);
+   q-stops++;
+}
+
 /**
  * eth_xmit - add a packet to the Ethernet Tx queue
  * @skb: the packet
@@ -1090,31 +1098,18 @@ int t3_eth_xmit(struct sk_buff *skb, struct net_device 
*dev)
ndesc = calc_tx_descs(skb);
 
 	if (unlikely(credits  ndesc)) {

-   if (!netif_queue_stopped(dev)) {
-   netif_stop_queue(dev);
-   set_bit(TXQ_ETH, qs-txq_stopped);
-   q-stops++;
-   dev_err(adap-pdev-dev,
-   %s: Tx ring %u full while queue awake!\n,
-   dev-name, q-cntxt_id  7);
-   }
+   t3_stop_queue(dev, qs, q);
+   dev_err(adap-pdev-dev,
+   %s: Tx ring %u full while queue awake!\n,
+   dev-name, q-cntxt_id  7);
spin_unlock(q-lock);
return NETDEV_TX_BUSY;
}
 
 	q-in_use += ndesc;

-   if (unlikely(credits - ndesc  q-stop_thres)) {
-   q-stops++;
-   netif_stop_queue(dev);
-   set_bit(TXQ_ETH, qs-txq_stopped);
-#if !USE_GTS
-   if (should_restart_tx(q) 
-   test_and_clear_bit(TXQ_ETH, qs-txq_stopped)) {
-   q-restarts++;
-   netif_wake_queue(dev);
-   }
-#endif
-   }
+   if (unlikely(credits - ndesc  q-stop_thres))
+   if (USE_GTS || !should_restart_tx(q))
+   t3_stop_queue(dev, qs, q);
 
 	gen = q-gen;

q-unacked += ndesc;
  

Hi Jeff,

I thought I had NAK'ed the patch modifying sge.c from Krishna Kumar.
Looking back at my answer at the time, I was obviously unclear.
Can you please revert the drivers/net/cxgb3sge.c change ?

Cheers,
Divy

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2008-02-06 Thread Jeff Garzik

Please pull from 'upstream-davem' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-davem

to receive the following updates:

 drivers/net/forcedeth.c   |   49 +-
 drivers/net/gianfar_mii.c |4 +-
 drivers/net/iseries_veth.c|2 +-
 drivers/net/ixgbe/ixgbe.h |4 +-
 drivers/net/ixgbe/ixgbe_ethtool.c |   91 +++-
 drivers/net/ixgbe/ixgbe_main.c|  305 
 drivers/net/mv643xx_eth.c |   11 +-
 drivers/net/sky2.c|   17 +--
 drivers/net/sky2.h|2 +-
 drivers/net/tlan.c|   25 +++-
 drivers/net/tulip/xircom_cb.c |2 +-
 drivers/net/ucc_geth_mii.c|4 +-
 drivers/net/virtio_net.c  |   10 +-
 drivers/net/wan/hdlc.c|   24 +--
 drivers/net/wan/hdlc_cisco.c  |5 +-
 drivers/net/wan/hdlc_fr.c |   53 +++
 drivers/net/wan/hdlc_ppp.c|2 +-
 drivers/net/wan/hdlc_raw.c|2 +-
 drivers/net/wan/hdlc_raw_eth.c|6 +-
 drivers/net/wan/hdlc_x25.c|   10 +-
 include/linux/hdlc.h  |   25 +---
 21 files changed, 398 insertions(+), 255 deletions(-)

Andy Fleming (1):
  Fix PHY Lib support for gianfar and ucc_geth

Ayaz Abdulla (3):
  forcedeth: restart tx/rx
  forcedeth: phy status fix
  forcedeth: preserve registers

Ayyappan Veeraiyan (8):
  ixgbe: remove obsolete irq_sem, add driver state checking code
  ixbge: remove TX lock and redo TX accounting.
  ixbge: Make ethtool code account for media types
  ixgbe: Fix pause code for ethtool
  ixgbe: Fix FW init/release, make this code a function
  ixgbe: properly return CHECKSUM_NONE, cleanup csum code
  ixgbe: fix several counter register errata
  ixgbe: add real-time traffic counters

Byron Bradley (1):
  mv643xx_eth: fix byte order when checksum offload is enabled

Christian Borntraeger (1):
  virtio net: fix oops on interface-up

Erik Mouw (1):
  xircom_cb should return NETDEV_TX_BUSY when no descriptors available

Krzysztof Halasa (3):
  Generic HDLC - fix kernel panic
  Generic HDLC - remove now unneeded hdlc_device_desc
  Generic HDLC - use random_ether_addr()

Leonardo Potenza (1):
  drivers/net/tlan.c: compilation warning fix

Stephen Hemminger (1):
  sky2: fix for Yukon FE (regression in 2.6.25)

Stephen Rothwell (1):
  iSeries: fix section mismatch in iseries_veth

diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 3634223..d4843d0 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -323,8 +323,8 @@ enum {
NvRegMIIStatus = 0x180,
 #define NVREG_MIISTAT_ERROR0x0001
 #define NVREG_MIISTAT_LINKCHANGE   0x0008
-#define NVREG_MIISTAT_MASK 0x000f
-#define NVREG_MIISTAT_MASK20x000f
+#define NVREG_MIISTAT_MASK_RW  0x0007
+#define NVREG_MIISTAT_MASK_ALL 0x000f
NvRegMIIMask = 0x184,
 #define NVREG_MII_LINKCHANGE   0x0008
 
@@ -624,6 +624,9 @@ union ring_type {
 #define NV_MSI_X_VECTOR_TX0x1
 #define NV_MSI_X_VECTOR_OTHER 0x2
 
+#define NV_RESTART_TX 0x1
+#define NV_RESTART_RX 0x2
+
 /* statistics */
 struct nv_ethtool_str {
char name[ETH_GSTRING_LEN];
@@ -1061,7 +1064,7 @@ static int mii_rw(struct net_device *dev, int addr, int 
miireg, int value)
u32 reg;
int retval;
 
-   writel(NVREG_MIISTAT_MASK, base + NvRegMIIStatus);
+   writel(NVREG_MIISTAT_MASK_RW, base + NvRegMIIStatus);
 
reg = readl(base + NvRegMIIControl);
if (reg  NVREG_MIICTL_INUSE) {
@@ -1432,16 +1435,30 @@ static void nv_mac_reset(struct net_device *dev)
 {
struct fe_priv *np = netdev_priv(dev);
u8 __iomem *base = get_hwbase(dev);
+   u32 temp1, temp2, temp3;
 
dprintk(KERN_DEBUG %s: nv_mac_reset\n, dev-name);
+
writel(NVREG_TXRXCTL_BIT2 | NVREG_TXRXCTL_RESET | np-txrxctl_bits, 
base + NvRegTxRxControl);
pci_push(base);
+
+   /* save registers since they will be cleared on reset */
+   temp1 = readl(base + NvRegMacAddrA);
+   temp2 = readl(base + NvRegMacAddrB);
+   temp3 = readl(base + NvRegTransmitPoll);
+
writel(NVREG_MAC_RESET_ASSERT, base + NvRegMacReset);
pci_push(base);
udelay(NV_MAC_RESET_DELAY);
writel(0, base + NvRegMacReset);
pci_push(base);
udelay(NV_MAC_RESET_DELAY);
+
+   /* restore saved registers */
+   writel(temp1, base + NvRegMacAddrA);
+   writel(temp2, base + NvRegMacAddrB);
+   writel(temp3, base + NvRegTransmitPoll);
+
writel(NVREG_TXRXCTL_BIT2 | np-txrxctl_bits, base + NvRegTxRxControl);
pci_push(base);
 }
@@ -2767,6 +2784,7 @@ static int nv_update_linkspeed(struct net_device *dev)
int mii_status;
int retval = 0;
u32 control_1000, status_1000, phyreg, pause_flags, txreg;
+   u32 

Re: [git patches] net driver updates

2008-02-06 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Wed, 6 Feb 2008 06:49:50 -0500

 Please pull from 'upstream-davem' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-davem
 
 to receive the following updates:

Pulled, thanks Jeff.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates #2

2008-02-03 Thread David Miller
From: David Miller [EMAIL PROTECTED]
Date: Fri, 01 Feb 2008 21:52:10 -0800 (PST)

 From: Jeff Garzik [EMAIL PROTECTED]
 Date: Fri, 1 Feb 2008 16:03:38 -0500
 
  Please pull from 'upstream2-davem' branch of
 
 This is now pulled and pushed back out to net-2.6

The first S2io patch breaks the build so I'm removing it from the
net-2.6 tree.  I suspect you rejected an earlier patch that added the
tx_lock member to the S2IO device private.

If you do that Jeff, please at least do a quick sanity check of the
build.

If, instead, I messed things up somehow, my apologies in advance.

drivers/net/s2io.c: In function 's2io_vlan_rx_kill_vid':
drivers/net/s2io.c:395: error: 'struct s2io_nic' has no member named 'tx_lock'
drivers/net/s2io.c:399: error: 'struct s2io_nic' has no member named 'tx_lock'

S2io: Support for vlan_rx_kill_vid entry point

- Added s2io_vlan_rx_kill_vid entry point function for unregistering vlan.
- Fix to aggregate vlan packets. IP offset is incremented by
  4 bytes if the packet contains vlan header.

Signed-off-by: Surjit Reang [EMAIL PROTECTED]
Signed-off-by: Ramkrishna Vepa [EMAIL PROTECTED]
Signed-off-by: Jeff Garzik [EMAIL PROTECTED]
---
 drivers/net/s2io.c |  108 +---
 drivers/net/s2io.h |7 ++-
 2 files changed, 65 insertions(+), 50 deletions(-)

diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 5fab7d7..dcad502 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -386,6 +386,19 @@ static void s2io_vlan_rx_register(struct net_device *dev,
 /* A flag indicating whether 'RX_PA_CFG_STRIP_VLAN_TAG' bit is set or not */
 static int vlan_strip_flag;
 
+/* Unregister the vlan */
+static void s2io_vlan_rx_kill_vid(struct net_device *dev, unsigned long vid)
+{
+   unsigned long flags;
+   struct s2io_nic *nic = dev-priv;
+
+   spin_lock_irqsave(nic-tx_lock, flags);
+   if (nic-vlgrp)
+   vlan_group_set_device(nic-vlgrp, vid, NULL);
+
+   spin_unlock_irqrestore(nic-tx_lock, flags);
+}
+
 /*
  * Constants to be programmed into the Xena's registers, to configure
  * the XAUI.
@@ -2948,7 +2961,7 @@ static void rx_intr_handler(struct ring_info *ring_data)
struct lro *lro = nic-lro0_n[i];
if (lro-in_use) {
update_L3L4_header(nic, lro);
-   queue_rx_frame(lro-parent);
+   queue_rx_frame(lro-parent, lro-vlan_tag);
clear_lro_session(lro);
}
}
@@ -7371,7 +7384,8 @@ static int rx_osm_handler(struct ring_info *ring_data, 
struct RxD_t * rxdp)
{
lro_append_pkt(sp, lro,
skb, tcp_len);
-   queue_rx_frame(lro-parent);
+   queue_rx_frame(lro-parent,
+   lro-vlan_tag);
clear_lro_session(lro);
sp-mac_control.stats_info-
sw_stat.flush_max_pkts++;
@@ -7382,7 +7396,8 @@ static int rx_osm_handler(struct ring_info *ring_data, 
struct RxD_t * rxdp)
lro-frags_len;
sp-mac_control.stats_info-
 sw_stat.sending_both++;
-   queue_rx_frame(lro-parent);
+   queue_rx_frame(lro-parent,
+   lro-vlan_tag);
clear_lro_session(lro);
goto send_up;
case 0: /* sessions exceeded */
@@ -7408,31 +7423,12 @@ static int rx_osm_handler(struct ring_info *ring_data, 
struct RxD_t * rxdp)
 */
skb-ip_summed = CHECKSUM_NONE;
}
-   } else {
+   } else
skb-ip_summed = CHECKSUM_NONE;
-   }
+
sp-mac_control.stats_info-sw_stat.mem_freed += skb-truesize;
-   if (!sp-lro) {
-   skb-protocol = eth_type_trans(skb, dev);
-   if ((sp-vlgrp  RXD_GET_VLAN_TAG(rxdp-Control_2) 
-   vlan_strip_flag)) {
-   /* Queueing the vlan frame to the upper layer */
-   if (napi)
-   vlan_hwaccel_receive_skb(skb, sp-vlgrp,
-   RXD_GET_VLAN_TAG(rxdp-Control_2));
-   else
-   vlan_hwaccel_rx(skb, sp-vlgrp,
-

Re: [git patches] net driver updates #2

2008-02-01 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Fri, 1 Feb 2008 16:03:38 -0500

 This submit is based on top of Linus's tree, since I'm not sure what's
 going on with net-2.6.git and my previous (lost?) submission.
 
 These changes do /not/ include anything from the previous submission,
 which was on top of net-2.6 -- but then you rebased, which probably made
 everything more difficult.  :)

Can you respin the tree with that previus submission init?

The best I'll be able to do is clone that entire tree in
order to pick the patches out, and from here in Australia
with a dodgy link I might not even finish before I have
to get on a plane back home on Monday :-)

I'll pull in this second set later tonight.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates #2

2008-02-01 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Fri, 1 Feb 2008 16:03:38 -0500

 Please pull from 'upstream2-davem' branch of

This is now pulled and pushed back out to net-2.6

Thanks!
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2008-01-22 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Tue, 22 Jan 2008 06:02:31 -0500

 NOTE:  This is the igb as Auke submitted it.  It still needs a review
 against ultra-recent Intel driver work.
 
 Please pull from 'upstream-davem' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-davem

Pulled and pushed out, I'll try to take a stare at IGB
after getting some sleep.

Thanks!
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates for 2.6.25

2008-01-18 Thread Jeff Garzik

Please pull from the 'upstream' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream

to receive my 2.6.25 net driver queue into davem/net-2.6.25.git:

Adam Baker (2):
  rt2x00: Unconstify rt2x00dev
  rt2x00: Place mutex around USB register access

Adrian Bunk (4):
  drivers/net/netxen/: cleanups
  drivers/net/chelsio/: #if 0 unused functions
  ipg: add __devexit annotation
  e1000: remove no longer used code for pci read/write cfg

Al Viro (15):
  endianness annotations and fixes for olympic
  sunhme endianness annotations
  sungem endianness annotations
  e1000e endianness annotations
  e1000 endianness annotations
  NULL noise in drivers/net
  forcedeth endianness bugs
  e100 endianness annotations
  ixgbe endianness annotations
  ixgb endianness annotations
  annotate tun
  annotate the rest of drivers/net/wan
  eepro100 annotations
  slhc annotations
  qla3xxx annotations

Alan Cox (2):
  3c501: Bring into compliance with the coding style
  slip: Drag kicking and screaming into coding style compliance

Alejandro Martinez Ruiz (3):
  netdev: use ARRAY_SIZE() instead of sizeof(array) / ETH_GSTRING_LEN
  netdev: ARRAY_SIZE() cleanups
  sk98lin: kill bogus check and convert to use ARRAY_SIZE()

Andrea Merello (1):
  rtl8187: fix tx power reading

Andres Salomon (4):
  libertas: drop useless default_fw_name variable
  libertas: mark module_init/exit functions as __init/__exit
  libertas: reset devices upon disconnect rather than module unloading
  libertas: nuke useless variable usbdriver_name and useless comments

Auke Kok (6):
  e1000e: Disable L1 ASPM power savings for 82573 mobile variants
  e1000/e1000e: Move PCI-Express device IDs over to e1000e
  ixgbe: Fix copper PHY initialization code
  [E1000E]: update netstats traffic counters realtime
  [E1000]: update netstats traffic counters realtime
  e1000: Dump the eeprom when a user encounters a bad checksum

Ben M Cahill (29):
  iwl3945: re-align 3945 event log data
  iwl4965: add comments to rate scaling code
  iwlwifi: add comments to EEPROM stuff
  iwl-4965-hw.h: clean up unused eeprom structures and definitions
  iwlwifi: clean up and clarify some comments after 3945/4965 split
  iwlwifi: Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h
  iwlwifi: Add comments to some driver data structures
  iwlwifi: Document 4965 rate_n_flags bits
  iwlwifi: Document Rx calibration
  iwlwifi: Partially clean-up, add comments to iwl-*-hw.h
  iwlwifi: clean up some unused definitions in iwl-4965.h and iwl-3945.h
  iwlwifi: add comments, mostly on Tx queues
  iwlwifi: add comments to iwl*-base.c
  iwlwifi: Clean up unused definitions in iwl-3945-hw.h
  iwlwifi: clean up unused definitions in iwl-4965-hw.h
  iwlwifi: move uCode API definitions to iwl-4965-commands.h
  iwlwifi: move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h
  iwlwifi: document temperature calculation
  iwlwifi: document txpower calculations
  iwlwifi: document keep-warm buffer
  iwlwifi: document Rx registers
  iwlwifi: document Tx registers
  iwlwifi: document shared Tx structures
  iwlwifi: document 4965 Tx scheduler
  iwlwifi: document command header and alive responses
  iwlwifi: add comments to RXON command and txpower formats
  iwlwifi: add comments to QOS and ADD_STA commands
  iwlwifi: add comments to Tx commands
  iwlwifi: document 4965 rate scaling

Bill Hayes (1):
  e1000e: alternate MAC address support

Brajesh Dave (2):
  libertas: separate mesh connectivity from that of the main interface
  libertas: configurable beacon interval

Christoph Hellwig (4):
  iwlwifi: mark more functions/variables static
  iwlwifi: keep 3945 and 4965 headers separate
  iwlwifi: cleanup Kconfig and ifdefs to split 3945 and 4965
  iwlwifi: cleanup namespace

Claudio Lanconelli (1):
  add driver for enc28j60 ethernet chip

Dan Williams (12):
  orinoco: more reliable scan handling
  orinoco: always use latest BSS info when caching scan results
  libertas: make lbs_cmd() usage nicer
  libertas: clean up is_command_allowed_in_ps()
  libertas: clean up direct command handling
  libertas: add simple copyback command callback
  libertas: convert GET_HW_SPEC to a direct command
  libertas: rename and re-type bufvirtualaddr to cmdbuf
  libertas: fix case of FWT_ACCESS_LIST_ROUTE and FWT_ACCESS_LIST_NEIGHBOR 
commands
  libertas: convert DATA_RATE to a direct command
  libertas: convert RF_CHANNEL to a direct command
  libertas: endianness fixes for get_channel/set_channel

Daniel Drake (3):
  zd1211rw: port to mac80211
  zd1211rw: Add ID for Trendnet TEW-429UB A
  zd1211rw: add copyright notices

David 

Re: [git patches] net driver updates for 2.6.25

2008-01-18 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Fri, 18 Jan 2008 15:17:21 -0500

 
 Please pull from the 'upstream' branch of
 git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream
 
 to receive my 2.6.25 net driver queue into davem/net-2.6.25.git:

Pulled and pushed back out, thanks Jeff.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-10-25 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 Documentation/networking/00-INDEX|2 -
 Documentation/networking/net-modules.txt |  315 --
 drivers/net/bonding/bond_main.c  |5 +-
 drivers/net/bonding/bonding.h|1 -
 drivers/net/cpmac.c  |  145 --
 drivers/net/ehea/ehea.h  |2 +-
 drivers/net/ehea/ehea_main.c |7 +-
 drivers/net/forcedeth.c  |   16 ++
 drivers/net/ipg.c|   22 ++-
 drivers/net/ipg.h|   20 --
 drivers/net/natsemi.c|1 +
 drivers/net/usb/rndis_host.c |   18 ++-
 include/linux/pci_ids.h  |4 +
 13 files changed, 149 insertions(+), 409 deletions(-)
 delete mode 100644 Documentation/networking/net-modules.txt

Adrian Bunk (4):
  remove Documentation/networking/net-modules.txt
  drivers/net/ipg.c: cleanups
  make bonding/bond_main.c:bond_deinit() static
  bonding/bond_main.c: fix cut'n'paste error

Ayaz Abdulla (1):
  [netdrvr] forcedeth: add MCP77 device IDs

Eugene Konev (3):
  cpmac: use print_mac() instead of MAC_FMT
  cpmac: convert to napi_struct interface
  cpmac: update to new fixed phy driver interface

Ingo Molnar (1):
  natsemi: fix oops, link back netdevice from private-struct

Jan-Bernd Themann (1):
  ehea: fix port_napi_disable/enable

Thomas Sailer (1):
  rndis_host: reduce MTU instead of refusing to talk to devices with low 
max packet size

diff --git a/Documentation/networking/00-INDEX 
b/Documentation/networking/00-INDEX
index 153d84d..f5a5e6d 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -80,8 +80,6 @@ multicast.txt
- Behaviour of cards under Multicast
 ncsa-telnet
- notes on how NCSA telnet (DOS) breaks with MTU discovery enabled.
-net-modules.txt
-   - info and insmod parameters for all network driver modules.
 netdevices.txt
- info on network device driver functions exported to the kernel.
 olympic.txt
diff --git a/Documentation/networking/net-modules.txt 
b/Documentation/networking/net-modules.txt
deleted file mode 100644
index 98c4392..000
--- a/Documentation/networking/net-modules.txt
+++ /dev/null
@@ -1,315 +0,0 @@
-Wed 2-Aug-95  [EMAIL PROTECTED]
-
-   Linux network driver modules
-
-   Do not mistake this for README.modules at the top-level
-   directory!  That document tells about modules in general, while
-   this one tells only about network device driver modules.
-
-   This is a potpourri of INSMOD-time(*) configuration options
-   (if such exists) and their default values of various modules
-   in the Linux network drivers collection.
-
-   Some modules have also hidden (= non-documented) tunable values.
-   The choice of not documenting them is based on general belief, that
-   the less the user needs to know, the better.  (There are things that
-   driver developers can use, others should not confuse themselves.)
-
-   In many cases it is highly preferred that insmod:ing is done
-   ONLY with defining an explicit address for the card, AND BY
-   NOT USING AUTO-PROBING!
-
-   Now most cards have some explicitly defined base address that they
-   are compiled with (to avoid auto-probing, among other things).
-   If that compiled value does not match your actual configuration,
-   do use the io=0xXXX -parameter for the insmod, and give there
-   a value matching your environment.
-
-   If you are adventurous, you can ask the driver to autoprobe
-   by using the io=0 parameter, however it is a potentially dangerous
-   thing to do in a live system.  (If you don't know where the
-   card is located, you can try autoprobing, and after possible
-   crash recovery, insmod with proper IO-address..)
-
-   --
-   (*) INSMOD-time means when you load module with
-   /sbin/insmod  you can feed it optional parameters.
-   See man insmod.
-   --
-
-
-   8390 based Network Modules  (Paul Gortmaker, Nov 12, 1995)
-   --
-
-(Includes: smc-ultra, ne, wd, 3c503, hp, hp-plus, e2100 and ac3200)
-
-The 8390 series of network drivers now support multiple card systems without 
-reloading the same module multiple times (memory efficient!) This is done by 
-specifying multiple comma separated values, such as:
-
-   insmod 3c503.o io=0x280,0x300,0x330,0x350  xcvr=0,1,0,1
-
-The above would have the one module controlling four 3c503 cards, with card 2
-and 4 using external transceivers. The insmod manual describes the usage
-of comma separated value lists.
-
-It is *STRONGLY 

[git patches] net driver updates

2007-10-09 Thread Jeff Garzik

Please pull from the 'upstream-davem' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-davem

to receive these changes:

Auke Kok (2):
  e1000e: Simple optimizations in e1000_xmit_frame
  e1000e: restore flow control settings properly

Jan-Bernd Themann (1):
  ehea: use kernel event queue

Krishna Kumar (1):
  e1000: Simple optimizations in e1000_xmit_frame

Mark Brown (1):
  natsemi: Use NATSEMI_TIMER_FREQ consistently

Roland Dreier (4):
  IPoIB: Fix unused variable warning
  ibm_emac: Convert to use napi_struct independent of struct net_device
  ibm_new_emac: Nuke SET_MODULE_OWNER() use
  ibm_emac: Convert to use napi_struct independent of struct net_device

Stephen Hemminger (4):
  s2io: sparse warnings fix (rev2)
  network drivers: sparse warning fixes
  chelsio: sparse warning fixes (old cxgb2)
  cxgb3 sparse warning fixes

 drivers/infiniband/ulp/ipoib/ipoib_main.c |1 
 drivers/net/acenic.c  |   37 +--
 drivers/net/atl1/atl1_main.c  |5 
 drivers/net/chelsio/Makefile  |2 
 drivers/net/chelsio/common.h  |1 
 drivers/net/chelsio/mac.c |  368 --
 drivers/net/chelsio/subr.c|2 
 drivers/net/cxgb3/cxgb3_main.c|4 
 drivers/net/cxgb3/cxgb3_offload.c |   44 +--
 drivers/net/cxgb3/sge.c   |6 
 drivers/net/cxgb3/t3_hw.c |8 
 drivers/net/cxgb3/xgmac.c |2 
 drivers/net/dl2k.c|8 
 drivers/net/e100.c|2 
 drivers/net/e1000/e1000_main.c|9 
 drivers/net/e1000e/ethtool.c  |1 
 drivers/net/e1000e/lib.c  |   12 
 drivers/net/e1000e/netdev.c   |   10 
 drivers/net/ehea/ehea.h   |3 
 drivers/net/ehea/ehea_main.c  |   28 --
 drivers/net/ehea/ehea_qmr.c   |3 
 drivers/net/hamachi.c |3 
 drivers/net/ibm_emac/ibm_emac_mal.c   |   48 +--
 drivers/net/ibm_emac/ibm_emac_mal.h   |2 
 drivers/net/ibm_newemac/core.c|1 
 drivers/net/ibm_newemac/mal.c |   55 +---
 drivers/net/ibm_newemac/mal.h |2 
 drivers/net/natsemi.c |   10 
 drivers/net/s2io.c|   97 ---
 drivers/net/tehuti.c  |4 
 include/linux/netdevice.h |   10 
 31 files changed, 195 insertions(+), 593 deletions(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c 
b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 6b1b4b2..855c9de 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -854,7 +854,6 @@ struct ipoib_neigh *ipoib_neigh_alloc(struct neighbour 
*neighbour)
 
 void ipoib_neigh_free(struct net_device *dev, struct ipoib_neigh *neigh)
 {
-   struct ipoib_dev_priv *priv = netdev_priv(dev);
struct sk_buff *skb;
*to_ipoib_neigh(neigh-neighbour) = NULL;
while ((skb = __skb_dequeue(neigh-queue))) {
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index 2c2ed6d..6c19265 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -406,7 +406,7 @@ MODULE_DEVICE_TABLE(pci, acenic_pci_tbl);
 #define DEF_STAT   (2 * TICKS_PER_SEC)
 
 
-static int link[ACE_MAX_MOD_PARMS];
+static int link_state[ACE_MAX_MOD_PARMS];
 static int trace[ACE_MAX_MOD_PARMS];
 static int tx_coal_tick[ACE_MAX_MOD_PARMS];
 static int rx_coal_tick[ACE_MAX_MOD_PARMS];
@@ -419,7 +419,7 @@ MODULE_AUTHOR(Jes Sorensen [EMAIL PROTECTED]);
 MODULE_LICENSE(GPL);
 MODULE_DESCRIPTION(AceNIC/3C985/GA620 Gigabit Ethernet driver);
 
-module_param_array(link, int, NULL, 0);
+module_param_array_named(link, link_state, int, NULL, 0);
 module_param_array(trace, int, NULL, 0);
 module_param_array(tx_coal_tick, int, NULL, 0);
 module_param_array(max_tx_desc, int, NULL, 0);
@@ -987,27 +987,27 @@ static int __devinit ace_init(struct net_device *dev)
 
mac1 = 0;
for(i = 0; i  4; i++) {
-   int tmp;
+   int t;
 
mac1 = mac1  8;
-   tmp = read_eeprom_byte(dev, 0x8c+i);
-   if (tmp  0) {
+   t = read_eeprom_byte(dev, 0x8c+i);
+   if (t  0) {
ecode = -EIO;
goto init_error;
} else
-   mac1 |= (tmp  0xff);
+   mac1 |= (t  0xff);
}
mac2 = 0;
for(i = 4; i  8; i++) {
-   int tmp;
+   int t;
 
mac2 = mac2  8;
-   tmp = read_eeprom_byte(dev, 0x8c+i);
-   if (tmp  0) {
+   t = read_eeprom_byte(dev, 0x8c+i);
+   if (t  0) {
ecode = -EIO;
goto 

Re: [git patches] net driver updates

2007-10-09 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Tue, 9 Oct 2007 21:03:26 -0400

 
 Please pull from the 'upstream-davem' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-davem
 
 to receive these changes:

Pulled and pushed back out, thanks Jeff!
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-10-08 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Fri, 5 Oct 2007 14:20:08 -0400

 Please pull from 'upstream-davem' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-davem
 

Pulled, and pushed back out to net-2.6.24, thanks Jeff.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-10-05 Thread Jeff Garzik

Please pull from 'upstream-davem' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-davem

to receive the following updates:

Auke Kok (2):
  e1000e: fix debugging printout code
  e1000e: Fix ethtool register test code

Frank Blaschka (1):
  qeth: EDDP does not work on large MTUs

Klaus D. Wacker (2):
  qeth: HiperSockets layer-3 interface drop non IPv4 or non IPv6 packets
  lcs: Channel errors drive lcs_recovery which leads to kernel panic.

Ursula Braun (2):
  qeth: avoid duplicate deletion of multicast addresses
  qeth: discard inbound packets with unknown header id

 drivers/net/e1000e/ethtool.c |   14 ++
 drivers/net/e1000e/hw.h  |2 +-
 drivers/net/e1000e/netdev.c  |4 +---
 drivers/s390/net/lcs.c   |   11 ---
 drivers/s390/net/lcs.h   |1 +
 drivers/s390/net/qeth_eddp.c |   16 +---
 drivers/s390/net/qeth_main.c |   19 +--
 7 files changed, 43 insertions(+), 24 deletions(-)

diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 3423f33..2e8218f 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -784,10 +784,16 @@ static int e1000_reg_test(struct e1000_adapter *adapter, 
u64 *data)
REG_SET_AND_CHECK(E1000_RCTL, before, 0x003B);
REG_SET_AND_CHECK(E1000_TCTL, 0x, 0x);
 
-   REG_SET_AND_CHECK(E1000_RCTL, 0x, 0x01FF);
-   REG_PATTERN_TEST(E1000_RDBAL, 0xF000, 0x);
-   REG_PATTERN_TEST(E1000_TXCW, 0x, 0x);
-   REG_PATTERN_TEST(E1000_TDBAL, 0xF000, 0x);
+   REG_SET_AND_CHECK(E1000_RCTL, before, 0x);
+   REG_PATTERN_TEST(E1000_RDBAL, 0xFFF0, 0x);
+   if ((mac-type != e1000_ich8lan) 
+   (mac-type != e1000_ich9lan))
+   REG_PATTERN_TEST(E1000_TXCW, 0xC000, 0x);
+   REG_PATTERN_TEST(E1000_TDBAL, 0xFFF0, 0x);
+   REG_PATTERN_TEST(E1000_TIDV, 0x, 0x);
+   for (i = 0; i  mac-rar_entry_count; i++)
+   REG_PATTERN_TEST_ARRAY(E1000_RA, ((i  1) + 1),
+  0x8003, 0x);
 
for (i = 0; i  mac-mta_reg_count; i++)
REG_PATTERN_TEST_ARRAY(E1000_MTA, i, 0x, 0x);
diff --git a/drivers/net/e1000e/hw.h b/drivers/net/e1000e/hw.h
index 848217a..aa82f1a 100644
--- a/drivers/net/e1000e/hw.h
+++ b/drivers/net/e1000e/hw.h
@@ -852,7 +852,7 @@ struct e1000_hw {
 
 #ifdef DEBUG
 #define hw_dbg(hw, format, arg...) \
-   printk(KERN_DEBUG, %s:  format, e1000_get_hw_dev_name(hw), ##arg);
+   printk(KERN_DEBUG, %s:  format, e1000e_get_hw_dev_name(hw), ##arg);
 #else
 static inline int __attribute__ ((format (printf, 2, 3)))
 hw_dbg(struct e1000_hw *hw, const char *format, ...)
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 4a21d7d..3a0bb2a 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -66,9 +66,7 @@ static const struct e1000_info *e1000_info_tbl[] = {
  **/
 char *e1000e_get_hw_dev_name(struct e1000_hw *hw)
 {
-   struct e1000_adapter *adapter = hw-back;
-   struct net_device *netdev = adapter-netdev;
-   return netdev-name;
+   return hw-adapter-netdev-name;
 }
 #endif
 
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c
index e4b11af..0fd663b 100644
--- a/drivers/s390/net/lcs.c
+++ b/drivers/s390/net/lcs.c
@@ -1400,11 +1400,14 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, 
struct irb *irb)
PRINT_WARN(check on device %s, dstat=0x%X, cstat=0x%X \n,
cdev-dev.bus_id, dstat, cstat);
if (rc) {
-   lcs_schedule_recovery(card);
-   wake_up(card-wait_q);
-   return;
+   channel-state = LCS_CH_STATE_ERROR;
}
}
+   if (channel-state == LCS_CH_STATE_ERROR) {
+   lcs_schedule_recovery(card);
+   wake_up(card-wait_q);
+   return;
+   }
/* How far in the ccw chain have we processed? */
if ((channel-state != LCS_CH_STATE_INIT) 
(irb-scsw.fctl  SCSW_FCTL_START_FUNC)) {
@@ -1708,6 +1711,8 @@ lcs_stopcard(struct lcs_card *card)
 
if (card-read.state != LCS_CH_STATE_STOPPED 
card-write.state != LCS_CH_STATE_STOPPED 
+   card-read.state != LCS_CH_STATE_ERROR 
+   card-write.state != LCS_CH_STATE_ERROR 
card-state == DEV_STATE_UP) {
lcs_clear_multicast_list(card);
rc = lcs_send_stoplan(card,LCS_INITIATOR_TCPIP);
diff --git a/drivers/s390/net/lcs.h b/drivers/s390/net/lcs.h
index 0e1e4a0..8976fb0 100644
--- a/drivers/s390/net/lcs.h
+++ b/drivers/s390/net/lcs.h
@@ -138,6 +138,7 @@ enum lcs_channel_states {
LCS_CH_STATE_RUNNING,

[git patches] net driver updates

2007-10-03 Thread Jeff Garzik

Normally I wait a day or two between pushes, to queue up patches and
also to avoid annoying my upstream :)  But this includes a couple fixes
I felt should be upstreamed sooner rather than later.


Please pull from 'upstream' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream

to receive the following updates:

Jeff Garzik (1):
  drivers/net/qla3xxx: trim trailing whitespace

Olof Johansson (11):
  pasemi_mac: basic error checking
  pasemi_mac: fix bug in receive buffer dma mapping
  pasemi_mac: rework ring management
  pasemi_mac: implement sg support
  pasemi_mac: workaround for erratum 5971
  pasemi_mac: add local skb alignment
  pasemi_mac: further performance tweaks
  pasemi_mac: update todo list
  pasemi_mac: clear out old errors on interface open
  pasemi_mac: use buffer index pointer in clean_rx()
  pasemi_mac: enable iommu support

trem (1):
  ipg.c doesn't compile with with CONFIG_HIGHMEM64G

[EMAIL PROTECTED] (1):
  Fix typo in new EMAC driver.

 arch/powerpc/platforms/pasemi/Kconfig |   10 
 arch/powerpc/platforms/pasemi/iommu.c |   15 
 drivers/net/ibm_newemac/core.c|4 
 drivers/net/ipg.c |   10 
 drivers/net/pasemi_mac.c  |  595 ++
 drivers/net/pasemi_mac.h  |   67 ++-
 drivers/net/qla3xxx.c |  128 +++
 drivers/net/qla3xxx.h |6 
 8 files changed, 527 insertions(+), 308 deletions(-)

diff --git a/arch/powerpc/platforms/pasemi/Kconfig 
b/arch/powerpc/platforms/pasemi/Kconfig
index 95cd90f..e95261e 100644
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
@@ -18,6 +18,16 @@ config PPC_PASEMI_IOMMU
help
  IOMMU support for PA6T-1682M
 
+config PPC_PASEMI_IOMMU_DMA_FORCE
+   bool Force DMA engine to use IOMMU
+   depends on PPC_PASEMI_IOMMU
+   help
+ This option forces the use of the IOMMU also for the
+ DMA engine. Otherwise the kernel will use it only when
+ running under a hypervisor.
+
+ If in doubt, say N.
+
 config PPC_PASEMI_MDIO
depends on PHYLIB
tristate MDIO support via GPIO
diff --git a/arch/powerpc/platforms/pasemi/iommu.c 
b/arch/powerpc/platforms/pasemi/iommu.c
index 9014d55..ab5 100644
--- a/arch/powerpc/platforms/pasemi/iommu.c
+++ b/arch/powerpc/platforms/pasemi/iommu.c
@@ -25,6 +25,7 @@
 #include asm/iommu.h
 #include asm/machdep.h
 #include asm/abs_addr.h
+#include asm/firmware.h
 
 
 #define IOBMAP_PAGE_SHIFT  12
@@ -175,13 +176,17 @@ static void pci_dma_dev_setup_pasemi(struct pci_dev *dev)
 {
pr_debug(pci_dma_dev_setup, dev %p (%s)\n, dev, pci_name(dev));
 
-   /* DMA device is untranslated, but all other PCI-e goes through
-* the IOMMU
+#if !defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE)
+   /* For non-LPAR environment, don't translate anything for the DMA
+* engine. The exception to this is if the user has enabled
+* CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE at build time.
 */
-   if (dev-vendor == 0x1959  dev-device == 0xa007)
+   if (dev-vendor == 0x1959  dev-device == 0xa007 
+   !firmware_has_feature(FW_FEATURE_LPAR))
dev-dev.archdata.dma_ops = dma_direct_ops;
-   else
-   dev-dev.archdata.dma_data = iommu_table_iobmap;
+#endif
+
+   dev-dev.archdata.dma_data = iommu_table_iobmap;
 }
 
 static void pci_dma_bus_setup_null(struct pci_bus *b) { }
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 653bfdc..ce127b9 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -1232,9 +1232,9 @@ static inline int emac_xmit_finish(struct emac_instance 
*dev, int len)
 * instead
 */
if (emac_has_feature(dev, EMAC_FTR_EMAC4))
-   out_be32(p-tmr0, EMAC_TMR0_XMIT);
-   else
out_be32(p-tmr0, EMAC4_TMR0_XMIT);
+   else
+   out_be32(p-tmr0, EMAC_TMR0_XMIT);
 
if (unlikely(++dev-tx_cnt == NUM_TX_BUFF)) {
netif_stop_queue(ndev);
diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c
index dfdc96f..59898ce 100644
--- a/drivers/net/ipg.c
+++ b/drivers/net/ipg.c
@@ -25,6 +25,8 @@
 #include linux/mii.h
 #include linux/mutex.h
 
+#include asm/div64.h
+
 #define IPG_RX_RING_BYTES  (sizeof(struct ipg_rx) * IPG_RFDLIST_LENGTH)
 #define IPG_TX_RING_BYTES  (sizeof(struct ipg_tx) * IPG_TFDLIST_LENGTH)
 #define IPG_RESET_MASK \
@@ -836,10 +838,14 @@ static void ipg_nic_txfree(struct net_device *dev)
 {
struct ipg_nic_private *sp = netdev_priv(dev);
void __iomem *ioaddr = sp-ioaddr;
-   const unsigned int curr = ipg_r32(TFD_LIST_PTR_0) -
-   (sp-txd_map / sizeof(struct ipg_tx)) - 1;
+   unsigned int curr;
+   u64 txd_map;
unsigned int released, pending;
 
+   txd_map = 

Re: [git patches] net driver updates

2007-10-03 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Wed, 3 Oct 2007 14:39:16 -0400

 
 Normally I wait a day or two between pushes, to queue up patches and
 also to avoid annoying my upstream :)  But this includes a couple fixes
 I felt should be upstreamed sooner rather than later.
 
 Please pull from 'upstream' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream

Pulled, thanks Jeff!
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-10-02 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Tue, 2 Oct 2007 13:41:50 -0400

 Please pull from the 'upstream' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream

Pulled and pushed back out to net-2.6.24, thanks Jeff!
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-09-20 Thread Jeff Garzik

[this, sans patch which was too big for netdev, was just sent upstream.
 the patch can be recreated via 'git diff net-2.6.24..upstream']



NOTE that sky2 will also be going upstream for 2.6.23-rc, as just posted
on netdev.

Please pull from the 'upstream' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream

to receive the following changes:

Al Viro (20):
  8139cp: trivial endianness annotations
  endianness annotations drivers/net/bonding/
  fix vlan in 8139cp on big-endian
  3c59x: trivial endianness annotations, NULL noise removal
  amd8111e: trivial endianness annotations, NULL noise removal
  amd8111e big-endian fix
  arcnet endianness annotations
  tulip: endianness annotations
  typhoon: trivial endianness annotations
  pcnet32: endianness
  ixgb: endianness
  drivers/net/irda: endianness, NULL noise
  starfire: trivial endianness annotations
  r8169: endianness
  via-rhine: endianness
  pppoe: endianness
  tms380tr: trivial endianness annotations
  drivers/net/appletalk: endianness
  3c509: endianness
  cxgb3: trivial endianness annotations

Alex Landau (1):
  Blackfin EMAC driver: add function to change the MAC address

Bryan Wu (3):
  Blackfin EMAC driver: add power management interface and change the 
bf537mac_reset to bf537mac_disable
  Blackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac 
driver
  Blackfin EMAC driver: add a select for the PHYLIB of this driver

David Gibson (1):
  Device tree aware EMAC driver

Dhananjay Phadke (1):
  netxen: ethtool fixes

Jeff Garzik (1):
  [netdrvr] Stop using legacy hooks -self_test_count, -get_stats_count

Maciej W. Rozycki (3):
  sb1250-mac.c: Fix stats references
  NET_SB1250_MAC: Update Kconfig entry
  NET_SB1250_MAC: Rename to SB1250_MAC

Sivakumar Subramani (4):
  S2io: Change kmalloc+memset to k[zc]alloc
  S2io: Removed unused feature - bimodal interrupts
  S2io: Added support set_mac_address driver entry point
  S2io: Updating transceiver information in ethtool function

Stephen Hemminger (3):
  sky2: fix VLAN receive processing (resend)
  sky2: ethtool speed report bug
  sky2: version 1.18

Ursula Braun (1):
  s390 networking MAINTAINERS

Vitaly Bordug (2):
  FS_ENET: TX stuff should use fep-tx_lock, instead of fep-lock.
  FS_ENET: Add polling support

 Documentation/powerpc/booting-without-of.txt |  156 +
 MAINTAINERS  |   12 
 arch/mips/configs/bigsur_defconfig   |2 
 arch/mips/configs/sb1250-swarm_defconfig |2 
 arch/powerpc/platforms/44x/Kconfig   |3 
 arch/powerpc/platforms/cell/Kconfig  |4 
 drivers/net/3c509.c  |4 
 drivers/net/3c59x.c  |   39 
 drivers/net/8139cp.c |   59 
 drivers/net/8139too.c|   11 
 drivers/net/Kconfig  |   89 
 drivers/net/Makefile |3 
 drivers/net/amd8111e.c   |9 
 drivers/net/amd8111e.h   |   24 
 drivers/net/appletalk/ipddp.c|2 
 drivers/net/appletalk/ipddp.h|2 
 drivers/net/arcnet/rfc1051.c |4 
 drivers/net/arcnet/rfc1201.c |6 
 drivers/net/atl1/atl1_ethtool.c  |   11 
 drivers/net/b44.c|   11 
 drivers/net/bfin_mac.c   |  347 ++-
 drivers/net/bfin_mac.h   |   53 
 drivers/net/bnx2.c   |   20 
 drivers/net/bonding/bond_3ad.c   |   42 
 drivers/net/bonding/bond_3ad.h   |   20 
 drivers/net/bonding/bond_alb.c   |   19 
 drivers/net/bonding/bond_alb.h   |4 
 drivers/net/bonding/bond_main.c  |   22 
 drivers/net/bonding/bond_sysfs.c |8 
 drivers/net/bonding/bonding.h|6 
 drivers/net/cassini.c|   11 
 drivers/net/chelsio/cxgb2.c  |   11 
 drivers/net/cxgb3/common.h   |4 
 drivers/net/cxgb3/cxgb3_main.c   |   11 
 drivers/net/cxgb3/sge.c  |6 
 drivers/net/e100.c   |   19 
 drivers/net/e1000/e1000_ethtool.c|   22 
 drivers/net/e1000e/ethtool.c |   21 
 drivers/net/ehea/ehea_ethtool.c  |   13 
 drivers/net/forcedeth.c  |   45 
 drivers/net/fs_enet/fs_enet-main.c   |   77 
 drivers/net/fs_enet/mac-fcc.c|   12 
 drivers/net/fs_enet/mac-fec.c|   30 
 drivers/net/fs_enet/mac-scc.c|   20 
 drivers/net/fs_enet/mii-bitbang.c|   10 
 drivers/net/gianfar_ethtool.c|   20 
 drivers/net/ibm_emac/Kconfig   

Re: [git patches] net driver updates

2007-09-20 Thread David Miller
From: Jeff Garzik [EMAIL PROTECTED]
Date: Thu, 20 Sep 2007 03:26:10 -0400

 Please pull from the 'upstream' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git upstream
 
 to receive the following changes:

Pulled into net-2.6.24 and pushed out, thanks Jeff!
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-07-18 Thread Jeff Garzik

Nothing highly notable.  Wireless pull, and new blackfin eth driver
(didn't get merged with rest of blackfin, since additional review was
requested).

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 Documentation/powerpc/booting-without-of.txt |6 +
 MAINTAINERS  |7 +
 arch/powerpc/boot/dts/mpc8641_hpcn.dts   |4 +
 arch/powerpc/sysdev/fsl_soc.c|9 +
 drivers/net/Kconfig  |   44 ++
 drivers/net/Makefile |1 +
 drivers/net/arm/ether3.c |2 +-
 drivers/net/bfin_mac.c   | 1009 ++
 drivers/net/bfin_mac.h   |  132 
 drivers/net/ehea/ehea.h  |2 +-
 drivers/net/ehea/ehea_main.c |   37 +-
 drivers/net/gianfar.c|   12 +-
 drivers/net/ni5010.c |6 +-
 drivers/net/ns83820.c|2 +-
 drivers/net/phy/vitesse.c|   46 +-
 drivers/net/saa9730.c|9 +-
 drivers/net/tc35815.c|2 +-
 drivers/net/wireless/ipw2100.c   |6 +-
 drivers/net/wireless/ipw2200.c   |   18 +-
 drivers/net/wireless/zd1211rw/zd_usb.c   |2 +
 include/linux/fsl_devices.h  |1 +
 net/ieee80211/ieee80211_wx.c |7 +-
 22 files changed, 1308 insertions(+), 56 deletions(-)
 create mode 100644 drivers/net/bfin_mac.c
 create mode 100644 drivers/net/bfin_mac.h

Andy Fleming (4):
  Fix Vitesse 824x PHY interrupt acking
  Add phy-connection-type to gianfar nodes
  Fix Vitesse RGMII-ID support
  Fix RGMII-ID handling in gianfar

Bryan Wu (1):
  Blackfin ethernet driver: on chip ethernet MAC controller driver

Daniel Drake (1):
  zd1211rw: Add ID for Siemens Gigaset USB Stick 54

Jean Tourrilhes (1):
  softmac: Channel is listed twice in scan output

Masakazu Mokuno (1):
  zd1211rw: Add ID for Planex GW-US54GXS

Thomas Klein (1):
  eHEA: Fix bonding support

YOSHIFUJI Hideaki / 吉藤英明 (4):
  NS83820: Handle multicast frames.
  NI5010: Handle multicast frames.
  SAA9730: Handle multicast frames.
  ARM/ETHER3: Handle multicast frames.

Yoichi Yuasa (1):
  fix wrong argument of tc35815_read_plat_dev_addr()

Zhu Yi (4):
  ipw2100: Fix `iwpriv set_power` error
  Fix ipw2200 set wrong power parameter causing firmware error
  ipw2200: Fix ipw_isr() comments error on shared IRQ
  Update version ipw2200 stamp to 1.2.2

diff --git a/Documentation/powerpc/booting-without-of.txt 
b/Documentation/powerpc/booting-without-of.txt
index 0c24348..76733a3 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -1250,6 +1250,12 @@ platforms are moved over to use the 
flattened-device-tree model.
   network device.  This is used by the bootwrapper to interpret
   MAC addresses passed by the firmware when no information other
   than indices is available to associate an address with a device.
+- phy-connection-type : a string naming the controller/PHY interface type,
+  i.e., mii (default), rmii, gmii, rgmii, rgmii-id, sgmii,
+  tbi, or rtbi.  This property is only really needed if the connection
+  is of type rgmii-id, as all other connection types are detected by
+  hardware.
+
 
   Example:
 
diff --git a/MAINTAINERS b/MAINTAINERS
index e78f62f..f6b2665 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -732,6 +732,13 @@ L: [EMAIL PROTECTED] (subscribers-only)
 W: http://blackfin.uclinux.org
 S: Supported
 
+BLACKFIN EMAC DRIVER
+P: Bryan Wu
+M: [EMAIL PROTECTED]
+L: [EMAIL PROTECTED] (subscribers-only)
+W: http://blackfin.uclinux.org
+S: Supported
+
 BLACKFIN RTC DRIVER
 P: Mike Frysinger
 M: [EMAIL PROTECTED]
diff --git a/arch/powerpc/boot/dts/mpc8641_hpcn.dts 
b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
index db56a02..6a78a2b 100644
--- a/arch/powerpc/boot/dts/mpc8641_hpcn.dts
+++ b/arch/powerpc/boot/dts/mpc8641_hpcn.dts
@@ -131,6 +131,7 @@
interrupts = 1d 2 1e 2 22 2;
interrupt-parent = mpic;
phy-handle = phy0;
+   phy-connection-type = rgmii-id;
};
 
[EMAIL PROTECTED] {
@@ -150,6 +151,7 @@
interrupts = 23 2 24 2 28 2;
interrupt-parent = mpic;
phy-handle = phy1;
+   phy-connection-type = rgmii-id;
};

[EMAIL PROTECTED] {
@@ -169,6 +171,7 @@
interrupts = 1F 2 20 2 21 2;
interrupt-parent = mpic;

Re: [git patches] net driver updates

2007-07-17 Thread maximilian attems
On Mon, Jul 16, 2007 at 06:57:21PM -0400, Jeff Garzik wrote:
 Minor fixes and cleanups, and a wireless pull from Linville.
 
 Please pull from 'upstream-linus' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-linus
 

did you get the dgrs removal patch?
mail didn't hit netdev due to beeing too large,
but you were on cc.

shall i rebase?

--
maks
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-07-11 Thread Jiri Kosina
On Tue, 10 Jul 2007, Jeff Garzik wrote:

 Various minor updates.  The only thing of note is sk98lin driver removal.
 Please pull from 'upstream-linus' branch of
 master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
 upstream-linus

This is probably going to cause a new entry in regressions list, as at 
least Chris Stromsoe has reported bonding-related problems with skge that 
don't happen with sklin - 
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0707.1/1158.html

-- 
Jiri Kosina
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-05-18 Thread Mariusz Kozłowski
Hello, 

 diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
 index 7053026..111f23d 100644
 --- a/drivers/net/smc91x.h
 +++ b/drivers/net/smc91x.h
 @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)

...

 +#define SMC_outb(v, a, r)      outw(((inw((a)+((r)~1))*(0xff8*(r%2 | 
 ((v)(8*(r2, (a) + ((r)~1))

This one has unbalanced parenthesis.

Regards,

Mariusz
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-05-18 Thread Andrew Morton
On Fri, 18 May 2007 23:46:21 +0200
Mariusz Koz__owski [EMAIL PROTECTED] wrote:

 Hello, 
 
  diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
  index 7053026..111f23d 100644
  --- a/drivers/net/smc91x.h
  +++ b/drivers/net/smc91x.h
  @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
 
 ...
 
  +#define SMC_outb(v, a, r) __ __ 
  __outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) + 
  ((r)~1))
 
 This one has unbalanced parenthesis.
 

I dunno how you can tell - I can't count that high.

Can this be programmed in C, rather than in cpp?
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-05-18 Thread Mariusz Kozlowski
   diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
   index 7053026..111f23d 100644
   --- a/drivers/net/smc91x.h
   +++ b/drivers/net/smc91x.h
   @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)
  
  ...
  
   +#define SMC_outb(v, a, r) __ __ 
   __outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) + 
   ((r)~1))
  
  This one has unbalanced parenthesis.
  
 
 I dunno how you can tell - I can't count that high.

Me neither. Simple script does that for me ;) Not sure where exactly
the parenthesis is missing so I leave it up to someone (the author?)
who knows better.

Regards,

Mariusz
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-05-18 Thread Gene Heskett
On Friday 18 May 2007, Andrew Morton wrote:
On Fri, 18 May 2007 23:46:21 +0200

Mariusz Koz__owski [EMAIL PROTECTED] wrote:
 Hello,

  diff --git a/drivers/net/smc91x.h b/drivers/net/smc91x.h
  index 7053026..111f23d 100644
  --- a/drivers/net/smc91x.h
  +++ b/drivers/net/smc91x.h
  @@ -279,6 +279,40 @@ SMC_outw(u16 val, void __iomem *ioaddr, int reg)

 ...

  +#define SMC_outb(v, a, r) __ __
  __outw(((inw((a)+((r)~1))*(0xff8*(r%2 | ((v)(8*(r2, (a) +
  ((r)~1))

 This one has unbalanced parenthesis.

I dunno how you can tell - I can't count that high.

Try removing the one in front of the comma, it makes the count -1.  And I 
wrote, probably a good 20 years ago, a gizmo I called cntx that found that 
stuff for you.  I occasionally use it to run over a section of the kernel 
tree, but it rarely finds anything to fuss about.  And I really do need to 
make it handle shell expansions so you don't have write a quick script to 
have it scan everything in a directory.  However I suspect that most of you 
already have such a tool in your bag of tricks.

Can this be programmed in C, rather than in cpp?
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



-- 
Cheers, Gene
There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order.
-Ed Howdershelt (Author)
I'm definitely not in Omaha!
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-04-29 Thread Jeff Garzik

(just sent this upstream to Linus and Andrew)

The only really notable thing is the merging of the wireless driver for
the OLPC, libertas.
 
Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 Documentation/DocBook/kernel-api.tmpl  |6 +
 Documentation/networking/bcm43xx.txt   |   97 +-
 MAINTAINERS|   20 +-
 arch/mips/mips-boards/sim/Makefile |3 +-
 arch/mips/mips-boards/sim/sim_platform.c   |   35 +
 arch/powerpc/sysdev/qe_lib/ucc_fast.c  |3 +
 crypto/michael_mic.c   |4 +-
 drivers/net/3c509.c|1 -
 drivers/net/Kconfig|   15 +-
 drivers/net/Makefile   |2 +-
 drivers/net/chelsio/Makefile   |4 +-
 drivers/net/chelsio/common.h   |6 +-
 drivers/net/chelsio/cphy.h |   16 +-
 drivers/net/chelsio/gmac.h |   10 +-
 drivers/net/chelsio/ixf1010.c  |  505 -
 drivers/net/chelsio/mac.c  |2 +-
 drivers/net/chelsio/mv88e1xxx.c|8 +-
 drivers/net/chelsio/mv88x201x.c|8 +-
 drivers/net/chelsio/my3126.c   |8 +-
 drivers/net/chelsio/pm3393.c   |8 +-
 drivers/net/chelsio/subr.c |  199 ++-
 drivers/net/chelsio/vsc7326.c  |2 +-
 drivers/net/chelsio/vsc8244.c  |  367 
 drivers/net/chelsio/vsc8244_reg.h  |  172 --
 drivers/net/e100.c |  159 +-
 drivers/net/e1000/e1000.h  |3 -
 drivers/net/e1000/e1000_ethtool.c  |   34 +-
 drivers/net/e1000/e1000_main.c |   45 +-
 drivers/net/e1000/e1000_param.c|4 +-
 drivers/net/eexpress.c |9 +-
 drivers/net/ehea/ehea.h|   42 +-
 drivers/net/ehea/ehea_ethtool.c|  115 +-
 drivers/net/ehea/ehea_main.c   |  940 +---
 drivers/net/ehea/ehea_phyp.c   |6 +-
 drivers/net/ehea/ehea_phyp.h   |6 +-
 drivers/net/ehea/ehea_qmr.c|  184 ++-
 drivers/net/ehea/ehea_qmr.h|   16 +-
 drivers/net/hamradio/baycom_ser_fdx.c  |   13 +-
 drivers/net/ibmveth.c  |   10 +-
 drivers/net/ixgb/ixgb.h|3 -
 drivers/net/ixgb/ixgb_ethtool.c|4 +-
 drivers/net/ixgb/ixgb_main.c   |4 +-
 drivers/net/ixgb/ixgb_param.c  |8 +-
 drivers/net/mii.c  |   57 +
 drivers/net/mipsnet.c  |   53 +-
 drivers/net/mv643xx_eth.c  |   59 +-
 drivers/net/mv643xx_eth.h  |4 -
 drivers/net/netxen/netxen_nic.h|  189 +-
 drivers/net/netxen/netxen_nic_ethtool.c|  212 ++-
 drivers/net/netxen/netxen_nic_hdr.h|   12 +
 drivers/net/netxen/netxen_nic_hw.c |  401 +++-
 drivers/net/netxen/netxen_nic_hw.h |   85 +-
 drivers/net/netxen/netxen_nic_init.c   |  130 +-
 drivers/net/netxen/netxen_nic_isr.c|  101 +-
 drivers/net/netxen/netxen_nic_main.c   |  769 ---
 drivers/net/netxen/netxen_nic_niu.c|  168 +-
 drivers/net/netxen/netxen_nic_phan_reg.h   |  134 +-
 drivers/net/pcnet32.c  |  159 +-
 drivers/net/phy/mdio_bus.c |   19 +-
 drivers/net/phy/phy.c  |  194 ++-
 drivers/net/phy/phy_device.c   |  114 +-
 drivers/net/qla3xxx.c  |  371 +++-
 drivers/net/qla3xxx.h  |   33 +-
 drivers/net/s2io-regs.h|2 +-
 drivers/net/s2io.c |   78 +-
 drivers/net/s2io.h |8 +-
 drivers/net/sb1250-mac.c   |  294 ++-
 drivers/net/sgiseeq.c  |   28 +-
 drivers/net/sk98lin/skge.c |   20 +-
 drivers/net/skfp/h/lnkstat.h   |   84 -
 drivers/net/skge.c |   30 +-
 drivers/net/skge.h |   10 +-
 drivers/net/smc911x.c  |2 +-
 drivers/net/tc35815.c  | 2554 --
 drivers/net/tulip/dmfe.c   |  118 +-
 drivers/net/tulip/interrupt.c  |4 +-
 drivers/net/tulip/media.c  |   40 +-
 drivers/net/tulip/tulip.h  |9 +-
 drivers/net/tulip/tulip_core.c |6 +-
 drivers/net/tulip/winbond-840.c|2 +-
 

Re: [git patches] net driver updates

2007-04-29 Thread Christoph Hellwig
On Sun, Apr 29, 2007 at 12:19:01PM -0400, Jeff Garzik wrote:
 
 (just sent this upstream to Linus and Andrew)
 
 The only really notable thing is the merging of the wireless driver for
 the OLPC, libertas.

I don't think it's quite ready yet, at least I've got no feedback about
completion of the todo list of obvious items I sent out a while ago.
Nor has an updated patchset been posted to lkml.

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-02-22 Thread Dan Williams
On Wed, 2007-02-21 at 08:27 -0500, John W. Linville wrote:
 On Wed, Feb 21, 2007 at 12:46:46PM +0100, Roger While wrote:
  
  
  Dan Williams (1):
prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
  
  Where did this spring from ?
  I see no posting of this patch let alone
  an ACK.
  The patch is also doing rather more than the description -
  It is inserting extra breaks into a switch statement with
  no comment as to why.
 
 Dan posted it to [EMAIL PROTECTED] on 13 Feb 2007.
 The description in the body is quoted below:

It was also posted to [EMAIL PROTECTED] and accepted for 2.6.19 and
2.6.20.

Dan

   Correct assignment of DOT1XENABLE in WE-19 codepaths.
   RX_UNENCRYPTED_EAPOL = 1 really means setting DOT1XENABLE _off_, and
   vice versa.  The original WE-19 patch erroneously reversed that.  This
   patch fixes association with unencrypted and WEP networks when using
   wpa_supplicant.
   
   It also adds two missing break statements that, left out, could result
   in incorrect card configuration.
   
   Please commit to both development and stable branches.
 
 Hth...
 
 John

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-02-21 Thread Roger While




Dan Williams (1):
  prism54: correct assignment of DOT1XENABLE in WE-19 codepaths


Where did this spring from ?
I see no posting of this patch let alone
an ACK.
The patch is also doing rather more than the description -
It is inserting extra breaks into a switch statement with
no comment as to why.

Roger While


-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2007-02-21 Thread Johannes Berg
On Wed, 2007-02-21 at 12:46 +0100, Roger While wrote:
 
 Dan Williams (1):
prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
 
 Where did this spring from ?

wireless

 I see no posting of this patch let alone
 an ACK.
 The patch is also doing rather more than the description -
 It is inserting extra breaks into a switch statement with
 no comment as to why.

The patch description clearly indicates those break statements, and
they're also clearly necessary.

http://kernel.org/git/?p=linux/kernel/git/linville/wireless-2.6.git;a=commit;h=b5c41651645f7604dda7abc3445e1622f9b1b9ab

johannes


signature.asc
Description: This is a digitally signed message part


Re: [git patches] net driver updates

2007-02-21 Thread John W. Linville
On Wed, Feb 21, 2007 at 12:46:46PM +0100, Roger While wrote:
 
 
 Dan Williams (1):
   prism54: correct assignment of DOT1XENABLE in WE-19 codepaths
 
 Where did this spring from ?
 I see no posting of this patch let alone
 an ACK.
 The patch is also doing rather more than the description -
 It is inserting extra breaks into a switch statement with
 no comment as to why.

Dan posted it to [EMAIL PROTECTED] on 13 Feb 2007.
The description in the body is quoted below:

Correct assignment of DOT1XENABLE in WE-19 codepaths.
RX_UNENCRYPTED_EAPOL = 1 really means setting DOT1XENABLE _off_, and
vice versa.  The original WE-19 patch erroneously reversed that.  This
patch fixes association with unencrypted and WEP networks when using
wpa_supplicant.

It also adds two missing break statements that, left out, could result
in incorrect card configuration.

Please commit to both development and stable branches.

Hth...

John
-- 
John W. Linville
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2007-02-20 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 drivers/net/8139too.c   |   40 ++---
 drivers/net/hamradio/baycom_epp.c   |   13 +--
 drivers/net/hamradio/hdlcdrv.c  |   13 +--
 drivers/net/hamradio/yam.c  |   11 +-
 drivers/net/natsemi.c   |   43 +-
 drivers/net/r8169.c |   25 ++-
 drivers/net/s2io.c  |   21 ++-
 drivers/net/sis190.c|7 +-
 drivers/net/skge.c  |9 +-
 drivers/net/wireless/airo.c |4 +-
 drivers/net/wireless/bcm43xx/bcm43xx.h  |8 +-
 drivers/net/wireless/bcm43xx/bcm43xx_ilt.c  |   15 ++
 drivers/net/wireless/bcm43xx/bcm43xx_ilt.h  |1 +
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |   20 +--
 drivers/net/wireless/bcm43xx/bcm43xx_phy.c  |  195 ++-
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c|   13 +-
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.h |   10 +-
 drivers/net/wireless/hostap/hostap.h|3 +-
 drivers/net/wireless/ipw2100.c  |   14 +-
 drivers/net/wireless/prism54/isl_ioctl.c|8 +-
 drivers/net/wireless/prism54/oid_mgt.c  |4 +-
 drivers/net/wireless/wavelan.c  |   14 +-
 drivers/net/wireless/wavelan.p.h|3 -
 drivers/net/wireless/zd1211rw/zd_chip.c |2 +-
 include/linux/wireless.h|4 +-
 net/ieee80211/softmac/ieee80211softmac_module.c |   13 +--
 net/ieee80211/softmac/ieee80211softmac_wx.c |   11 +-
 27 files changed, 264 insertions(+), 260 deletions(-)

Ahmed S. Darwish (4):
  ipw2100: Use ARRAY_SIZE macro when appropriate
  misc-wireless: Use ARRAY_SIZE macro when appropriate
  hostap: Use ARRAY_SIZE macro when appropriate
  wavelan: Use ARRAY_SIZE macro when appropriate

Dan Williams (1):
  prism54: correct assignment of DOT1XENABLE in WE-19 codepaths

Daniel Drake (1):
  zd1211rw: Readd zd_addr_t cast

Francois Romieu (4):
  r8169: RTNL and flush_scheduled_work deadlock
  sis190: RTNL and flush_scheduled_work deadlock
  8139too: RTNL and flush_scheduled_work deadlock
  s2io: RTNL and flush_scheduled_work deadlock

Ingo van Lil (1):
  wireless: fix IW_IS_{GET,SET} comment in wireless.h

Larry Finger (5):
  bcm43xx: Janitorial change - remove two unused variables
  bcm43xx: Fix for oops on resume
  bcm43xx: Fix for 4311 and 02/07/07 specification changes
  bcm43xx: OFDM fix for rev 1 cards
  ieee80211softmac: Fix setting of initial transmit rates

Mark Brown (2):
  natsemi: Add support for using MII port with no PHY
  natsemi: Support Aculab E1/T1 PMXc cPCI carrier cards

Michael Buesch (1):
  bcm43xx: Ignore ampdu status reports

Ralf Baechle (1):
  Replace local random function with random32()

Stephen Hemminger (1):
  skge: race with workq and RTNL

diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index 35ad5cf..99304b2 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -1109,6 +1109,8 @@ static void __devexit rtl8139_remove_one (struct pci_dev 
*pdev)
 
assert (dev != NULL);
 
+   flush_scheduled_work();
+
unregister_netdev (dev);
 
__rtl8139_cleanup_dev (dev);
@@ -1603,18 +1605,21 @@ static void rtl8139_thread (struct work_struct *work)
struct net_device *dev = tp-mii.dev;
unsigned long thr_delay = next_tick;
 
+   rtnl_lock();
+
+   if (!netif_running(dev))
+   goto out_unlock;
+
if (tp-watchdog_fired) {
tp-watchdog_fired = 0;
rtl8139_tx_timeout_task(work);
-   } else if (rtnl_trylock()) {
-   rtl8139_thread_iter (dev, tp, tp-mmio_addr);
-   rtnl_unlock ();
-   } else {
-   /* unlikely race.  mitigate with fast poll. */
-   thr_delay = HZ / 2;
-   }
+   } else
+   rtl8139_thread_iter(dev, tp, tp-mmio_addr);
 
-   schedule_delayed_work(tp-thread, thr_delay);
+   if (tp-have_thread)
+   schedule_delayed_work(tp-thread, thr_delay);
+out_unlock:
+   rtnl_unlock ();
 }
 
 static void rtl8139_start_thread(struct rtl8139_private *tp)
@@ -1626,19 +1631,11 @@ static void rtl8139_start_thread(struct rtl8139_private 
*tp)
return;
 
tp-have_thread = 1;
+   tp-watchdog_fired = 0;
 
schedule_delayed_work(tp-thread, next_tick);
 }
 
-static void rtl8139_stop_thread(struct rtl8139_private *tp)
-{
-   if (tp-have_thread) {
-   cancel_rearming_delayed_work(tp-thread);
-   tp-have_thread = 0;
-   } else
-   flush_scheduled_work();
-}
-
 static inline void rtl8139_tx_clear 

[git patches] net driver updates

2007-02-07 Thread Jeff Garzik

Just sent this upstream...

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 Documentation/feature-removal-schedule.txt|7 +
 MAINTAINERS   |   18 +-
 drivers/net/3c59x.c   |3 +-
 drivers/net/Kconfig   |   65 +-
 drivers/net/Makefile  |6 +-
 drivers/net/Space.c   |4 -
 drivers/net/amd8111e.c|3 +-
 drivers/net/b44.c |8 +-
 drivers/net/b44.h |   10 +-
 drivers/net/bmac.c|   20 +-
 drivers/net/bnx2.c|   13 +-
 drivers/net/bonding/bond_main.c   |   23 +-
 drivers/net/bonding/bond_sysfs.c  |   15 +
 drivers/net/bonding/bonding.h |9 +-
 drivers/net/chelsio/common.h  |2 +-
 drivers/net/chelsio/cpl5_cmd.h|   18 +-
 drivers/net/chelsio/cxgb2.c   |  149 +-
 drivers/net/chelsio/elmer0.h  |   40 +-
 drivers/net/chelsio/espi.c|   44 +-
 drivers/net/chelsio/fpga_defs.h   |6 +-
 drivers/net/chelsio/gmac.h|   11 +-
 drivers/net/chelsio/ixf1010.c |  100 +-
 drivers/net/chelsio/mv88e1xxx.c   |   27 +-
 drivers/net/chelsio/my3126.c  |   16 +-
 drivers/net/chelsio/pm3393.c  |   91 +-
 drivers/net/chelsio/sge.c |  328 ++--
 drivers/net/chelsio/subr.c|   89 +-
 drivers/net/chelsio/tp.c  |   62 +-
 drivers/net/chelsio/vsc7326.c |  139 +-
 drivers/net/chelsio/vsc7326_reg.h |  139 +-
 drivers/net/chelsio/vsc8244.c |   41 +-
 drivers/net/cxgb3/Makefile|8 +
 drivers/net/cxgb3/adapter.h   |  279 ++
 drivers/net/cxgb3/ael1002.c   |  251 ++
 drivers/net/cxgb3/common.h|  729 ++
 drivers/net/cxgb3/cxgb3_ctl_defs.h|  164 ++
 drivers/net/cxgb3/cxgb3_defs.h|   99 +
 drivers/net/cxgb3/cxgb3_ioctl.h   |  185 ++
 drivers/net/cxgb3/cxgb3_main.c| 2515 ++
 drivers/net/cxgb3/cxgb3_offload.c | 1222 +
 drivers/net/cxgb3/cxgb3_offload.h |  193 ++
 drivers/net/cxgb3/firmware_exports.h  |  177 ++
 drivers/net/cxgb3/l2t.c   |  450 
 drivers/net/cxgb3/l2t.h   |  143 ++
 drivers/net/cxgb3/mc5.c   |  473 
 drivers/net/cxgb3/regs.h  | 2195 
 drivers/net/cxgb3/sge.c   | 2681 
 drivers/net/cxgb3/sge_defs.h  |  251 ++
 drivers/net/cxgb3/t3_cpl.h| 1444 +++
 drivers/net/cxgb3/t3_hw.c | 3375 +
 drivers/net/cxgb3/t3cdev.h|   73 +
 drivers/net/cxgb3/version.h   |   39 +
 drivers/net/cxgb3/vsc8211.c   |  228 ++
 drivers/net/cxgb3/xgmac.c |  409 +++
 drivers/net/declance.c|  164 +-
 drivers/net/e1000/e1000.h |7 -
 drivers/net/e1000/e1000_ethtool.c |6 -
 drivers/net/e1000/e1000_main.c|  128 +-
 drivers/net/e1000/e1000_osdep.h   |4 +-
 drivers/net/e1000/e1000_param.c   |   15 +-
 drivers/net/forcedeth.c   | 1342 +++
 drivers/net/hp100.c   |2 +-
 drivers/net/ixgb/ixgb.h   |2 -
 drivers/net/ixgb/ixgb_ethtool.c   |6 -
 drivers/net/ixgb/ixgb_main.c  |4 -
 drivers/net/macb.c|   25 +-
 drivers/net/macb.h|8 +-
 drivers/net/mace.c|   16 +-
 drivers/net/macmace.c |   18 +-
 drivers/net/macsonic.c|6 +-
 drivers/net/myri10ge/myri10ge.c   |   10 -
 drivers/net/netxen/netxen_nic.h   |   17 +-
 drivers/net/netxen/netxen_nic_ethtool.c   |   96 +-
 drivers/net/netxen/netxen_nic_init.c  |  279 ++-
 drivers/net/oaknet.c  |  666 -
 drivers/net/pasemi_mac.c  | 1019 
 drivers/net/pasemi_mac.h  |  460 
 drivers/net/qla3xxx.c |  363 +++-
 drivers/net/qla3xxx.h |   88 +-
 drivers/net/s2io-regs.h   |7 +-
 drivers/net/s2io.c| 1178 +-
 drivers/net/s2io.h|  223 +-
 

[git patches] net driver updates

2006-12-11 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 drivers/net/Kconfig |8 +
 drivers/net/chelsio/cxgb2.c |   23 +-
 drivers/net/chelsio/sge.c   |  115 -
 drivers/net/chelsio/sge.h   |4 
 drivers/net/macb.c  |8 -
 drivers/net/macb.h  |6 
 drivers/net/myri10ge/myri10ge.c |  498 ---
 drivers/net/smc91x.h|   90 ---
 drivers/net/ucc_geth.c  |   12 +
 9 files changed, 334 insertions(+), 430 deletions(-)

Brice Goglin:
  myri10ge: indentation cleanups
  myri10ge: add page-based skb routines
  myri10ge: switch to page-based skb
  myri10ge: drop contiguous skb routines
  myri10ge: Full vlan frame in small_bytes
  myri10ge: fix big_bytes in case of vlan frames
  myri10ge: update driver version to 1.1.0

Haavard Skinnemoen:
  MACB: Use struct delayed_work instead of struct work_struct
  MACB: Use __raw register access

Paul Mundt:
  smc91x: Kill off excessive versatile hooks.

Scott Wood:
  ucc_geth: compilation error fixes
  ucc_geth: Initialize mdio_lock.

Stephen Hemminger:
  chelsio: working NAPI

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 9de0eed..8aa8dd0 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2384,6 +2384,14 @@ config CHELSIO_T1_1G
   Enables support for Chelsio's gigabit Ethernet PCI cards.  If you
   are using only 10G cards say 'N' here.
 
+config CHELSIO_T1_NAPI
+   bool Use Rx Polling (NAPI)
+   depends on CHELSIO_T1
+   default y
+   help
+ NAPI is a driver API designed to reduce CPU and interrupt load
+ when the driver is receiving lots of packets from the card.
+
 config EHEA
tristate eHEA Ethernet support
depends on IBMEBUS
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index de48ead..fd5d821 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -220,9 +220,8 @@ static int cxgb_up(struct adapter *adapt
 
t1_interrupts_clear(adapter);
 
-   adapter-params.has_msi = !disable_msi  pci_enable_msi(adapter-pdev) 
== 0;
-   err = request_irq(adapter-pdev-irq,
- t1_select_intr_handler(adapter),
+   adapter-params.has_msi = !disable_msi  
!pci_enable_msi(adapter-pdev);
+   err = request_irq(adapter-pdev-irq, t1_interrupt,
  adapter-params.has_msi ? 0 : IRQF_SHARED,
  adapter-name, adapter);
if (err) {
@@ -764,18 +763,7 @@ static int set_coalesce(struct net_devic
 {
struct adapter *adapter = dev-priv;
 
-   /*
-* If RX coalescing is requested we use NAPI, otherwise interrupts.
-* This choice can be made only when all ports and the TOE are off.
-*/
-   if (adapter-open_device_map == 0)
-   adapter-params.sge.polling = c-use_adaptive_rx_coalesce;
-
-   if (adapter-params.sge.polling) {
-   adapter-params.sge.rx_coalesce_usecs = 0;
-   } else {
-   adapter-params.sge.rx_coalesce_usecs = c-rx_coalesce_usecs;
-   }
+   adapter-params.sge.rx_coalesce_usecs = c-rx_coalesce_usecs;
adapter-params.sge.coalesce_enable = c-use_adaptive_rx_coalesce;
adapter-params.sge.sample_interval_usecs = c-rate_sample_interval;
t1_sge_set_coalesce_params(adapter-sge, adapter-params.sge);
@@ -944,7 +932,7 @@ static void t1_netpoll(struct net_device
struct adapter *adapter = dev-priv;
 
local_irq_save(flags);
-   t1_select_intr_handler(adapter)(adapter-pdev-irq, adapter);
+   t1_interrupt(adapter-pdev-irq, adapter);
local_irq_restore(flags);
 }
 #endif
@@ -1165,7 +1153,10 @@ #endif
 #ifdef CONFIG_NET_POLL_CONTROLLER
netdev-poll_controller = t1_netpoll;
 #endif
+#ifdef CONFIG_CHELSIO_T1_NAPI
netdev-weight = 64;
+   netdev-poll = t1_poll;
+#endif
 
SET_ETHTOOL_OPS(netdev, t1_ethtool_ops);
}
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index 0ca8d87..659cb22 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -1413,16 +1413,20 @@ static int sge_rx(struct sge *sge, struc
 
if (unlikely(adapter-vlan_grp  p-vlan_valid)) {
st-vlan_xtract++;
-   if (adapter-params.sge.polling)
+#ifdef CONFIG_CHELSIO_T1_NAPI
vlan_hwaccel_receive_skb(skb, adapter-vlan_grp,
 ntohs(p-vlan));
-   else
+#else
vlan_hwaccel_rx(skb, adapter-vlan_grp,
ntohs(p-vlan));
-   } else if (adapter-params.sge.polling)
+#endif
+   } else {
+#ifdef CONFIG_CHELSIO_T1_NAPI

[git patches] net driver updates

2006-12-07 Thread Jeff Garzik
[just sent this upstream]

Random schtuff.

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 drivers/net/3c501.c|2 
 drivers/net/3c503.c|2 
 drivers/net/3c505.c|2 
 drivers/net/3c507.c|2 
 drivers/net/3c523.c|2 
 drivers/net/3c527.c|2 
 drivers/net/ac3200.c   |2 
 drivers/net/apne.c |4 
 drivers/net/appletalk/cops.c   |2 
 drivers/net/arm/at91_ether.c   |   88 ++--
 drivers/net/arm/at91_ether.h   |1 
 drivers/net/arm/ether1.c   |6 
 drivers/net/arm/ether3.c   |8 
 drivers/net/at1700.c   |2 
 drivers/net/atarilance.c   |4 
 drivers/net/bonding/bond_main.c|2 
 drivers/net/cs89x0.c   |2 
 drivers/net/declance.c |  404 ++--
 drivers/net/e2100.c|2 
 drivers/net/eepro.c|2 
 drivers/net/eexpress.c |2 
 drivers/net/es3210.c   |2 
 drivers/net/eth16i.c   |2 
 drivers/net/hp-plus.c  |2 
 drivers/net/hp.c   |2 
 drivers/net/lance.c|2 
 drivers/net/lne390.c   |2 
 drivers/net/mv643xx_eth.c  |4 
 drivers/net/mvme147.c  |4 
 drivers/net/myri10ge/myri10ge.c|   95 +++--
 drivers/net/myri10ge/myri10ge_mcp.h|   56 +--
 drivers/net/myri10ge/myri10ge_mcp_gen_header.h |2 
 drivers/net/ne.c   |2 
 drivers/net/ne2.c  |2 
 drivers/net/netxen/netxen_nic.h|  331 
 drivers/net/netxen/netxen_nic_ethtool.c|   65 ++-
 drivers/net/netxen/netxen_nic_hdr.h|6 
 drivers/net/netxen/netxen_nic_hw.c |  483 +++-
 drivers/net/netxen/netxen_nic_hw.h |   10 
 drivers/net/netxen/netxen_nic_init.c   |  361 ++
 drivers/net/netxen/netxen_nic_ioctl.h  |8 
 drivers/net/netxen/netxen_nic_isr.c|   51 +--
 drivers/net/netxen/netxen_nic_main.c   |  306 +--
 drivers/net/netxen/netxen_nic_niu.c|   32 +-
 drivers/net/netxen/netxen_nic_phan_reg.h   |  228 +++
 drivers/net/ni52.c |2 
 drivers/net/ni65.c |2 
 drivers/net/ns83820.c  |   25 +
 drivers/net/r8169.c|   84 +++-
 drivers/net/seeq8005.c |2 
 drivers/net/sk98lin/skgesirq.c |2 
 drivers/net/skge.h |  150 ---
 drivers/net/sky2.c |  117 +++---
 drivers/net/sky2.h |   54 +--
 drivers/net/smc-ultra.c|2 
 drivers/net/smc-ultra32.c  |2 
 drivers/net/smc9194.c  |2 
 drivers/net/smc91x.h   |   24 +
 drivers/net/sun3lance.c|4 
 drivers/net/tokenring/smctr.c  |2 
 drivers/net/wd.c   |2 
 drivers/net/wireless/hostap/hostap_ap.c|4 
 drivers/net/wireless/hostap/hostap_cs.c|3 
 drivers/net/wireless/hostap/hostap_download.c  |4 
 drivers/net/wireless/hostap/hostap_hw.c|   12 -
 drivers/net/wireless/hostap/hostap_info.c  |3 
 drivers/net/wireless/hostap/hostap_ioctl.c |   12 -
 drivers/net/wireless/hostap/hostap_pci.c   |3 
 drivers/net/wireless/hostap/hostap_plx.c   |3 
 drivers/net/wireless/ipw2100.c |2 
 drivers/net/wireless/ipw2200.c |   24 +
 drivers/net/wireless/prism54/isl_ioctl.c   |9 
 drivers/net/wireless/prism54/oid_mgt.c |4 
 drivers/net/wireless/zd1211rw/zd_chip.c|   13 +
 drivers/net/wireless/zd1211rw/zd_chip.h|   43 ++
 drivers/net/wireless/zd1211rw/zd_mac.c |   53 ++-
 drivers/net/wireless/zd1211rw/zd_mac.h |3 
 drivers/net/wireless/zd1211rw/zd_netdev.c  |2 
 net/ieee80211/softmac/ieee80211softmac_assoc.c |   14 +
 net/ieee80211/softmac/ieee80211softmac_auth.c  |2 
 net/ieee80211/softmac/ieee80211softmac_priv.h  |2 
 net/ieee80211/softmac/ieee80211softmac_wx.c|3 
 82 files changed, 2115 insertions(+), 1180 

[git patches] net driver updates

2006-09-24 Thread Jeff Garzik
[just sent upstream to Andrew  Linus; patch available in git, it's too
large to post]

Nothing major of interest.  A couple new drivers (ehea, qla3xxx,
ep93xx_eth), a lot of trailing whitespace killed, a deleted MIPS driver,
e1000 update, ...

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 Documentation/networking/LICENSE.qla3xxx|   46 
 MAINTAINERS |   37 
 drivers/isdn/i4l/Kconfig|1 
 drivers/net/3c501.c |   61 
 drivers/net/3c501.h |4 
 drivers/net/3c503.c |   16 
 drivers/net/3c503.h |4 
 drivers/net/3c505.c |   24 
 drivers/net/3c505.h |2 
 drivers/net/3c507.c |   14 
 drivers/net/3c509.c |   53 
 drivers/net/3c515.c |   64 
 drivers/net/3c523.c |   28 
 drivers/net/3c523.h |   14 
 drivers/net/3c527.c |  530 
 drivers/net/3c527.h |4 
 drivers/net/3c59x.c |   36 
 drivers/net/7990.c  |   60 
 drivers/net/7990.h  |   24 
 drivers/net/8139cp.c|  122 
 drivers/net/8139too.c   |   11 
 drivers/net/82596.c |   12 
 drivers/net/8390.c  |  246 
 drivers/net/8390.h  |2 
 drivers/net/Kconfig |   67 
 drivers/net/Makefile|   13 
 drivers/net/Space.c |   24 
 drivers/net/a2065.c |   40 
 drivers/net/a2065.h |4 
 drivers/net/ac3200.c|6 
 drivers/net/acenic.c|   46 
 drivers/net/acenic.h|6 
 drivers/net/acenic_firmware.h   |18808 
 drivers/net/amd8111e.c  |  489 
 drivers/net/amd8111e.h  |  102 
 drivers/net/apne.c  |   10 
 drivers/net/arcnet/com20020-pci.c   |2 
 drivers/net/ariadne.c   |2 
 drivers/net/arm/Kconfig |7 
 drivers/net/arm/Makefile|1 
 drivers/net/arm/at91_ether.c|2 
 drivers/net/arm/ep93xx_eth.c|  944 +
 drivers/net/arm/etherh.c|2 
 drivers/net/at1700.c|   30 
 drivers/net/atari_bionet.c  |   14 
 drivers/net/atari_pamsnet.c |2 
 drivers/net/atarilance.c|   22 
 drivers/net/atp.c   |2 
 drivers/net/au1000_eth.c|   71 
 drivers/net/au1000_eth.h|   12 
 drivers/net/b44.c   |4 
 drivers/net/bmac.c  |   54 
 drivers/net/bmac.h  |2 
 drivers/net/bnx2.c  |  166 
 drivers/net/bnx2.h  |   82 
 drivers/net/bonding/bond_main.c |2 
 drivers/net/bsd_comp.c  |   68 
 drivers/net/cassini.c   |  540 
 drivers/net/cassini.h   |  766 
 drivers/net/chelsio/cxgb2.c |4 
 drivers/net/cris/eth_v10.c  |4 
 drivers/net/cs89x0.c|   82 
 drivers/net/cs89x0.h|4 
 drivers/net/de600.c |4 
 drivers/net/de620.c |   38 
 drivers/net/declance.c  |8 
 drivers/net/defxx.c |  270 
 drivers/net/defxx.h |  192 
 drivers/net/depca.c |  110 
 drivers/net/depca.h |   28 
 drivers/net/dgrs.c  |   26 
 drivers/net/dgrs.h  |4 
 drivers/net/dgrs_asstruct.h |2 
 drivers/net/dgrs_bcomm.h|2 
 drivers/net/dgrs_ether.h|4 
 drivers/net/dgrs_i82596.h   |2 
 drivers/net/dl2k.c  |  164 
 drivers/net/dl2k.h  |6 
 drivers/net/dummy.c |   28 
 drivers/net/e100.c  |   32 
 

[git patches] net driver updates

2006-07-05 Thread Jeff Garzik
Just sent this to Andrew/Linus...

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 
upstream-linus

to receive the following updates:

 MAINTAINERS|7 
 drivers/net/8139cp.c   |   35 
 drivers/net/8139too.c  |   34 
 drivers/net/b44.c  |   27 
 drivers/net/bnx2.c |   30 
 drivers/net/cassini.c  |   25 
 drivers/net/declance.c |7 
 drivers/net/dl2k.c |   43 
 drivers/net/eepro100.c |6 
 drivers/net/epic100.c  |   93 -
 drivers/net/fealnx.c   |   36 
 drivers/net/gt96100eth.c   |3 
 drivers/net/gt96100eth.h   |2 
 drivers/net/hamachi.c  |   16 
 drivers/net/myri10ge/myri10ge.c|   17 
 drivers/net/natsemi.c  |  117 -
 drivers/net/ne2k-pci.c |9 
 drivers/net/ni5010.c   |   52 
 drivers/net/ns83820.c  |   41 
 drivers/net/pci-skeleton.c |   19 
 drivers/net/pcnet32.c  |  520 +---
 drivers/net/phy/cicada.c   |   42 
 drivers/net/r8169.c|   40 
 drivers/net/starfire.c |  123 -
 drivers/net/sundance.c |  106 -
 drivers/net/tulip/winbond-840.c|   29 
 drivers/net/tulip/xircom_tulip_cb.c|   27 
 drivers/net/via-rhine.c|  121 -
 drivers/net/via-velocity.c |  102 -
 drivers/net/via-velocity.h |4 
 drivers/net/wan/Kconfig|   12 
 drivers/net/wan/Makefile   |1 
 drivers/net/wireless/Kconfig   |1 
 drivers/net/wireless/Makefile  |1 
 drivers/net/wireless/bcm43xx/bcm43xx_main.c|   31 
 drivers/net/wireless/bcm43xx/bcm43xx_main.h|   24 
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c   |7 
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c  |2 
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c|5 
 drivers/net/wireless/hostap/hostap_plx.c   |2 
 drivers/net/wireless/zd1211rw/Kconfig  |   19 
 drivers/net/wireless/zd1211rw/Makefile |   11 
 drivers/net/wireless/zd1211rw/zd_chip.c| 1615 +
 drivers/net/wireless/zd1211rw/zd_chip.h|  825 
 drivers/net/wireless/zd1211rw/zd_def.h |   48 
 drivers/net/wireless/zd1211rw/zd_ieee80211.c   |  191 ++
 drivers/net/wireless/zd1211rw/zd_ieee80211.h   |   85 +
 drivers/net/wireless/zd1211rw/zd_mac.c | 1057 
 drivers/net/wireless/zd1211rw/zd_mac.h |  190 ++
 drivers/net/wireless/zd1211rw/zd_netdev.c  |  267 
 drivers/net/wireless/zd1211rw/zd_netdev.h  |   45 
 drivers/net/wireless/zd1211rw/zd_rf.c  |  151 ++
 drivers/net/wireless/zd1211rw/zd_rf.h  |   82 +
 drivers/net/wireless/zd1211rw/zd_rf_al2230.c   |  308 
 drivers/net/wireless/zd1211rw/zd_rf_rf2959.c   |  279 
 drivers/net/wireless/zd1211rw/zd_types.h   |   71 +
 drivers/net/wireless/zd1211rw/zd_usb.c | 1316 
 drivers/net/wireless/zd1211rw/zd_usb.h |  240 +++
 drivers/net/wireless/zd1211rw/zd_util.c|   82 +
 drivers/net/wireless/zd1211rw/zd_util.h|   29 
 drivers/net/yellowfin.c|   39 
 include/net/ieee80211softmac.h |1 
 net/ieee80211/ieee80211_rx.c   |4 
 net/ieee80211/ieee80211_tx.c   |   15 
 net/ieee80211/softmac/ieee80211softmac_assoc.c |   31 
 net/ieee80211/softmac/ieee80211softmac_auth.c  |4 
 net/ieee80211/softmac/ieee80211softmac_io.c|3 
 net/ieee80211/softmac/ieee80211softmac_wx.c|   36 
 68 files changed, 7760 insertions(+), 1103 deletions(-)

Andreas Mohr:
  NI5010 netcard cleanup

Brice Goglin:
  myri10ge - Use dev_info() when printing parameters after probe
  myri10ge - Export more parameters to ethtool

[EMAIL PROTECTED]:
  myri10ge - Drop unused pm_state
  myri10ge - Drop ununsed nvidia chipset id

Daniel Drake:
  bcm43xx: use softmac-suggested TX rate
  bcm43xx: enable shared key authentication
  ZyDAS ZD1211 USB-WLAN driver
  zd1211rw: disable TX queue during stop

Don Fry:
  pcnet32: Fix Section mismatch error
  pcnet32: Use PCI_DEVICE macro
  pcnet32: Fix off-by-one in get_ringparam
  pcnet32: Use kcalloc instead of kmalloc and memset
  pcnet32: Handle memory allocation failures cleanly when resizing tx/rx 
rings
  pcnet32: Suspend the chip rather than restart when changing 

[git patches] net driver updates

2006-06-26 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

to receive the following updates:

 drivers/net/3c59x.c |   79 +++
 drivers/net/dl2k.h  |   12 +---
 drivers/net/dm9000.c|   34 +++--
 drivers/net/eepro100.c  |5 --
 drivers/net/epic100.c   |   20 +---
 drivers/net/fealnx.c|   10 
 drivers/net/hamradio/dmascc.c   |2 
 drivers/net/natsemi.c   |  100 +++-
 drivers/net/pcnet32.c   |6 --
 drivers/net/phy/lxt.c   |8 +--
 drivers/net/tulip/winbond-840.c |   26 ++
 drivers/net/wan/c101.c  |2 
 drivers/net/wan/n2.c|2 
 drivers/net/wan/pci200syn.c |2 
 drivers/net/yellowfin.c |   24 ++---
 15 files changed, 133 insertions(+), 199 deletions(-)

Adrian Bunk:
  drivers/net/hamradio/dmascc.c: fix section mismatch

Ben Dooks:
  DM9000 - better checks for platform resources
  DM9000 - check for MAC left in by bootloader
  DM9000 - do no re-init spin lock
  DM9000 - minor code cleanups

Jeff Garzik:
  [netdrvr] natsemi: Separate out media initialization code
  [netdrvr] natsemi: minor cleanups
  [netdrvr] Remove long-unused bits from Becker template drivers

Krzysztof Halasa:
  WAN: update info page for a bunch of my drivers

Uwe Zeisberger:
  Fix phy id for LXT971A/LXT972A

diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index e277789..b467c38 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -375,8 +375,7 @@ limit of 4K.
of the drivers, and will likely be provided by some future kernel.
 */
 enum pci_flags_bit {
-   PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=4,
-   PCI_ADDR0=0x100, PCI_ADDR1=0x101, PCI_ADDR2=0x102, 
PCI_ADDR3=0x103,
+   PCI_USES_MASTER=4,
 };
 
 enum { IS_VORTEX=1, IS_BOOMERANG=2, IS_CYCLONE=4, IS_TORNADO=8,
@@ -446,95 +445,95 @@ static struct vortex_chip_info {
int io_size;
 } vortex_info_tbl[] __devinitdata = {
{3c590 Vortex 10Mbps,
-PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
+PCI_USES_MASTER, IS_VORTEX, 32, },
{3c592 EISA 10Mbps Demon/Vortex,  
/* AKPM: from Don's 3c59x_cb.c 0.49H */
-PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
+PCI_USES_MASTER, IS_VORTEX, 32, },
{3c597 EISA Fast Demon/Vortex,
/* AKPM: from Don's 3c59x_cb.c 0.49H */
-PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
+PCI_USES_MASTER, IS_VORTEX, 32, },
{3c595 Vortex 100baseTx,
-PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
+PCI_USES_MASTER, IS_VORTEX, 32, },
{3c595 Vortex 100baseT4,
-PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
+PCI_USES_MASTER, IS_VORTEX, 32, },
 
{3c595 Vortex 100base-MII,
-PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, },
+PCI_USES_MASTER, IS_VORTEX, 32, },
{3c900 Boomerang 10baseT,
-PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, },
+PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, },
{3c900 Boomerang 10Mbps Combo,
-PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, },
+PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, },
{3c900 Cyclone 10Mbps TPO,
/* AKPM: from Don's 0.99M */
-PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
{3c900 Cyclone 10Mbps Combo,
-PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
 
{3c900 Cyclone 10Mbps TPC,
/* AKPM: from Don's 0.99M */
-PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
{3c900B-FL Cyclone 10base-FL,
-PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
+PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, },
{3c905 Boomerang 100baseTx,
-PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, },
+PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, },
{3c905 Boomerang 100baseT4,
-PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, },
+PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, },
{3c905B Cyclone 100baseTx,
-PCI_USES_IO|PCI_USES_MASTER, 
IS_CYCLONE|HAS_NWAY|HAS_HWCKSM|EXTRA_PREAMBLE, 128, },
+PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM|EXTRA_PREAMBLE, 128, },
 
{3c905B Cyclone 10/100/BNC,
-PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, },
+PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM, 128, 

Re: [git patches] net driver updates

2006-05-21 Thread Manfred Spraul

Andi Kleen wrote:


My NF4Pro machine now reliably does

Disconnecting: Bad packet length 3742984839.

when I display a lot of data through ssh.  Apparently it generates some 
corruption that's not caught by the TCP checksum.


The nic does hw checksumming - thus the tcp checksum won't catch driver 
bugs.



Would that be fixed by this
change too? 

 

No idea, but unlikely. The fix removes a duplicate request_irq call. Is 
it possible that the both instances run concurrently?


--
   Manfred
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2006-05-21 Thread Andreas Kleen

 No idea, but unlikely. The fix removes a duplicate request_irq call.
 Is
 it possible that the both instances run concurrently?

The system has two Forcedeth ports, but only one has a cable connected.
I don't think there is any parallelism. Just one connection with a lot
of data. It didn't happen with 2.6.16.

If you don't have any other good ideas I will try to track it down.

-Andi

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2006-05-20 Thread Andrew Morton
Jeff Garzik [EMAIL PROTECTED] wrote:

 Andrew Morton:
revert forcedeth: fix multi irq issues

Manfred just found the fix for this, so we should no longer need to revert.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2006-05-20 Thread Linus Torvalds


On Sat, 20 May 2006, Andrew Morton wrote:
 Jeff Garzik [EMAIL PROTECTED] wrote:
 
  Andrew Morton:
 revert forcedeth: fix multi irq issues
 
 Manfred just found the fix for this, so we should no longer need to revert.

Hmm. I already pulled. I guess we can revert the revert and apply 
Manfreds fix. Jeff?

Linus
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [git patches] net driver updates

2006-05-20 Thread Andi Kleen
On Saturday 20 May 2006 19:55, Andrew Morton wrote:
 Linus Torvalds [EMAIL PROTECTED] wrote:
 
  
  
  On Sat, 20 May 2006, Andrew Morton wrote:
   Jeff Garzik [EMAIL PROTECTED] wrote:
   
Andrew Morton:
   revert forcedeth: fix multi irq issues
   
   Manfred just found the fix for this, so we should no longer need to 
   revert.
  
  Hmm. I already pulled. I guess we can revert the revert and apply 
  Manfreds fix. Jeff?
  
 
 I can cook up the necessary pieces.

My NF4Pro machine now reliably does

Disconnecting: Bad packet length 3742984839.

when I display a lot of data through ssh.  Apparently it generates some 
corruption that's not caught by the TCP checksum. Would that be fixed by this
change too? 

-Andi

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[git patches] net driver updates

2006-05-19 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

to receive the following updates:

 drivers/net/forcedeth.c |  312 +++-
 drivers/net/pcmcia/axnet_cs.c   |   13 -
 drivers/net/skge.c  |8 
 drivers/net/sky2.c  |   54 ++--
 drivers/net/sky2.h  |2 
 drivers/net/tulip/winbond-840.c |4 
 drivers/net/via-rhine.c |   34 ---
 drivers/net/wireless/bcm43xx/bcm43xx_main.c |6 
 8 files changed, 131 insertions(+), 302 deletions(-)

Andrew Morton:
  revert forcedeth: fix multi irq issues

David Woodhouse:
  bcm43xx: associate on 'ifconfig up'

Erling A. Jacobsen:
  winbond-840-remove-badness-in-pci_map_single

John W. Linville:
  via-rhine: revert change mdelay to msleep and remove from ISR path

Komuro:
  network: axnet_cs: bug fix multicast code (support older ax88190 chipset)

Stephen Hemminger:
  sky2: allow dual port usage
  Subjec: sky2, skge: correct PCI id for DGE-560T
  sky2: more fixes for Yukon Ultra
  sky2: force NAPI repoll if busy
  sky2 version 1.4
  skge: bad checksums on big-endian platforms
  skge: don't allow transmit ring to be too small

diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index f7235c9..7e078b4 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -106,7 +106,6 @@
  * 0.51: 20 Jan 2006: Add 64bit consistent memory allocation for rings.
  * 0.52: 20 Jan 2006: Add MSI/MSIX support.
  * 0.53: 19 Mar 2006: Fix init from low power mode and add hw reset.
- * 0.54: 21 Mar 2006: Fix spin locks for multi irqs and cleanup.
  *
  * Known bugs:
  * We suspect that on some hardware no TX done interrupts are generated.
@@ -118,7 +117,7 @@
  * DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few
  * superfluous timer interrupts from the nic.
  */
-#define FORCEDETH_VERSION  0.54
+#define FORCEDETH_VERSION  0.53
 #define DRV_NAME   forcedeth
 
 #include linux/module.h
@@ -711,72 +710,6 @@ static void setup_hw_rings(struct net_de
}
 }
 
-static int using_multi_irqs(struct net_device *dev)
-{
-   struct fe_priv *np = get_nvpriv(dev);
-
-   if (!(np-msi_flags  NV_MSI_X_ENABLED) ||
-   ((np-msi_flags  NV_MSI_X_ENABLED) 
-((np-msi_flags  NV_MSI_X_VECTORS_MASK) == 0x1)))
-   return 0;
-   else
-   return 1;
-}
-
-static void nv_enable_irq(struct net_device *dev)
-{
-   struct fe_priv *np = get_nvpriv(dev);
-
-   if (!using_multi_irqs(dev)) {
-   if (np-msi_flags  NV_MSI_X_ENABLED)
-   enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_ALL].vector);
-   else
-   enable_irq(dev-irq);
-   } else {
-   enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_RX].vector);
-   enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_TX].vector);
-   enable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector);
-   }
-}
-
-static void nv_disable_irq(struct net_device *dev)
-{
-   struct fe_priv *np = get_nvpriv(dev);
-
-   if (!using_multi_irqs(dev)) {
-   if (np-msi_flags  NV_MSI_X_ENABLED)
-   
disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_ALL].vector);
-   else
-   disable_irq(dev-irq);
-   } else {
-   disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_RX].vector);
-   disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_TX].vector);
-   disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector);
-   }
-}
-
-/* In MSIX mode, a write to irqmask behaves as XOR */
-static void nv_enable_hw_interrupts(struct net_device *dev, u32 mask)
-{
-   u8 __iomem *base = get_hwbase(dev);
-
-   writel(mask, base + NvRegIrqMask);
-}
-
-static void nv_disable_hw_interrupts(struct net_device *dev, u32 mask)
-{
-   struct fe_priv *np = get_nvpriv(dev);
-   u8 __iomem *base = get_hwbase(dev);
-
-   if (np-msi_flags  NV_MSI_X_ENABLED) {
-   writel(mask, base + NvRegIrqMask);
-   } else {
-   if (np-msi_flags  NV_MSI_ENABLED)
-   writel(0, base + NvRegMSIIrqMask);
-   writel(0, base + NvRegIrqMask);
-   }
-}
-
 #define MII_READ   (-1)
 /* mii_rw: read/write a register on the PHY.
  *
@@ -1086,25 +1019,24 @@ static void nv_do_rx_refill(unsigned lon
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
 
-   if (!using_multi_irqs(dev)) {
-   if (np-msi_flags  NV_MSI_X_ENABLED)
-   
disable_irq(np-msi_x_entry[NV_MSI_X_VECTOR_ALL].vector);
-   else
-   disable_irq(dev-irq);
+
+   if (!(np-msi_flags  

[git patches] net driver updates

2006-03-29 Thread Jeff Garzik

[just sent upstream]

The 'upstream-linus' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

contains the following updates:

 Documentation/networking/bcm43xx.txt|   36 
 drivers/net/8390.h  |2 
 drivers/net/acenic_firmware.h   |   10 
 drivers/net/b44.c   |   14 
 drivers/net/bonding/bond_3ad.c  |   28 
 drivers/net/bonding/bond_3ad.h  |1 
 drivers/net/bonding/bond_main.c |   97 
 drivers/net/bonding/bonding.h   |4 
 drivers/net/ixp2000/ixpdev.c|5 
 drivers/net/natsemi.c   |   18 
 drivers/net/pcmcia/axnet_cs.c   |   61 
 drivers/net/pcnet32.c   |4 
 drivers/net/spider_net.c|4 
 drivers/net/via-rhine.c |   21 
 drivers/net/wireless/Kconfig|7 
 drivers/net/wireless/Makefile   |1 
 drivers/net/wireless/bcm43xx/Kconfig|   62 
 drivers/net/wireless/bcm43xx/Makefile   |   12 
 drivers/net/wireless/bcm43xx/bcm43xx.h  |  926 +
 drivers/net/wireless/bcm43xx/bcm43xx_debugfs.c  |  499 +++
 drivers/net/wireless/bcm43xx/bcm43xx_debugfs.h  |  117 
 drivers/net/wireless/bcm43xx/bcm43xx_dma.c  |  968 +
 drivers/net/wireless/bcm43xx/bcm43xx_dma.h  |  218 +
 drivers/net/wireless/bcm43xx/bcm43xx_ethtool.c  |   50 
 drivers/net/wireless/bcm43xx/bcm43xx_ethtool.h  |8 
 drivers/net/wireless/bcm43xx/bcm43xx_ilt.c  |  337 ++
 drivers/net/wireless/bcm43xx/bcm43xx_ilt.h  |   32 
 drivers/net/wireless/bcm43xx/bcm43xx_leds.c |  293 +
 drivers/net/wireless/bcm43xx/bcm43xx_leds.h |   56 
 drivers/net/wireless/bcm43xx/bcm43xx_main.c | 3973 
 drivers/net/wireless/bcm43xx/bcm43xx_main.h |  168 +
 drivers/net/wireless/bcm43xx/bcm43xx_phy.c  | 2345 ++
 drivers/net/wireless/bcm43xx/bcm43xx_phy.h  |   74 
 drivers/net/wireless/bcm43xx/bcm43xx_pio.c  |  606 +++
 drivers/net/wireless/bcm43xx/bcm43xx_pio.h  |  138 
 drivers/net/wireless/bcm43xx/bcm43xx_power.c|  358 ++
 drivers/net/wireless/bcm43xx/bcm43xx_power.h|   47 
 drivers/net/wireless/bcm43xx/bcm43xx_radio.c| 2026 
 drivers/net/wireless/bcm43xx/bcm43xx_radio.h|   99 
 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c|  322 +
 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.h|   25 
 drivers/net/wireless/bcm43xx/bcm43xx_wx.c   | 1002 ++
 drivers/net/wireless/bcm43xx/bcm43xx_wx.h   |   36 
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.c |  582 +++
 drivers/net/wireless/bcm43xx/bcm43xx_xmit.h |  156 
 drivers/net/wireless/hostap/hostap_80211.h  |2 
 drivers/net/wireless/hostap/hostap_80211_tx.c   |9 
 drivers/usb/net/zd1201.c|2 
 net/ieee80211/ieee80211_wx.c|4 
 net/ieee80211/softmac/ieee80211softmac_module.c |   17 
 net/ieee80211/softmac/ieee80211softmac_priv.h   |2 
 net/ieee80211/softmac/ieee80211softmac_wx.c |   12 
 52 files changed, 15820 insertions(+), 76 deletions(-)

Adrian Bunk:
  PCMCIA_SPECTRUM must select FW_LOADER

Arthur Othieno:
  net: remove CONFIG_NET_CBUS conditional for NS8390

Danny van Dyk:
  Sync bcm43xx_phy_initb6() with specs

David Woodhouse:
  softmac: reduce scan dwell time
  softmac: reduce default rate to 11Mbps.

Gary Zambrano:
  b44: fix force mac address before ifconfig up
  b44: ensure valid mac addr

Jay Vosburgh:
  bonding: support carrier state for master

Jean Tourrilhes:
  zd1201 wireless stat update

Jens Osterkamp:
  spidernet : reduce console spam
  spidernet : enable tx checksum offloading by default

John W. Linville:
  wireless: import bcm43xx sources
  bcm43xx: patch Kconfig and wireless/Makefile for import

Jouni Malinen:
  hostap: Make hostap_tx_encrypt() static
  hostap: Fix EAPOL frame encryption

Komuro:
  axnet_cs.c : add hardware multicast support

Larry Finger:
  Minor (janitorial) change to ieee80211

Lennert Buytenhek:
  ixp2000: fix gcc4 breakage

Linas Vepstas:
  Janitor: drivers/net/pcnet32: fix incorrect comments

Mark Brown:
  natsemi: Support oversized EEPROMs

Michael Buesch:
  bcm43xx: sync with svn.berlios.de
  bcm43xx: remove linux version compatibility code.
  bcm43xx: Move README file to Documentation directory.
  bcm43xx: remove redundant COPYING file.
  bcm43xx: add DEBUG Kconfig option. Also fix indention.
  bcm43xx: Fix makefile. Remove all the out-of-tree stuff.
  bcm43xx: Add more initvals sanity checks and error out, if one sanity 
check fails.
  bcm43xx: Remove function bcm43xx_channel_is_allowed()
  bcm43xx: basic ethtool support
  bcm43xx: Wireless Ext update
  bcm43xx: fix txpower 

[git patches] net driver updates

2006-03-22 Thread Jeff Garzik

Please pull from 'upstream-linus' branch of
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

to receive the following updates:

 drivers/net/Makefile |4 +-
 drivers/net/au1000_eth.c |   18 --
 drivers/net/depca.c  |2 -
 drivers/net/sis900.c |1 
 drivers/net/sky2.c   |   27 +---
 drivers/net/sky2.h   |   71 +--
 drivers/net/tulip/de2104x.c  |2 -
 drivers/s390/net/qeth_main.c |   57 +++---
 drivers/s390/net/qeth_proc.c |   56 -
 drivers/s390/net/qeth_sys.c  |2 -
 10 files changed, 104 insertions(+), 136 deletions(-)

Artur Skawina:
  sis900 adm7001 PHY support

Eric Sesterhenn:
  Use after free in net/tulip/de2104x.c
  Use of uninitialized variable in drivers/net/depca.c

Frank Pavlic:
  s390: qeth driver statistics fixes
  s390: qeth driver cleanups
  s390: qeth :allow setting of attribute route6 to no_router.

Jens Osterkamp:
  fix spidernet build issue

Sergei Shtylylov:
  AMD Au1xx0: fix Ethernet TX stats

Stephen Hemminger:
  sky2: more ethtool stats

diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 00e72b1..b90468a 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -58,8 +58,8 @@ obj-$(CONFIG_STNIC) += stnic.o 8390.o
 obj-$(CONFIG_FEALNX) += fealnx.o
 obj-$(CONFIG_TIGON3) += tg3.o
 obj-$(CONFIG_BNX2) += bnx2.o
-spidernet-y += spider_net.o spider_net_ethtool.o sungem_phy.o
-obj-$(CONFIG_SPIDER_NET) += spidernet.o
+spidernet-y += spider_net.o spider_net_ethtool.o
+obj-$(CONFIG_SPIDER_NET) += spidernet.o sungem_phy.o
 obj-$(CONFIG_TC35815) += tc35815.o
 obj-$(CONFIG_SKGE) += skge.o
 obj-$(CONFIG_SKY2) += sky2.o
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index cd0b1dc..1363083 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -90,8 +90,6 @@ static void au1000_tx_timeout(struct net
 static int au1000_set_config(struct net_device *dev, struct ifmap *map);
 static void set_rx_mode(struct net_device *);
 static struct net_device_stats *au1000_get_stats(struct net_device *);
-static inline void update_tx_stats(struct net_device *, u32, u32);
-static inline void update_rx_stats(struct net_device *, u32);
 static void au1000_timer(unsigned long);
 static int au1000_ioctl(struct net_device *, struct ifreq *, int);
 static int mdio_read(struct net_device *, int, int);
@@ -1825,16 +1823,11 @@ static void __exit au1000_cleanup_module
}
 }
 
-
-static inline void 
-update_tx_stats(struct net_device *dev, u32 status, u32 pkt_len)
+static void update_tx_stats(struct net_device *dev, u32 status)
 {
struct au1000_private *aup = (struct au1000_private *) dev-priv;
struct net_device_stats *ps = aup-stats;
 
-   ps-tx_packets++;
-   ps-tx_bytes += pkt_len;
-
if (status  TX_FRAME_ABORTED) {
if (dev-if_port == IF_PORT_100BASEFX) {
if (status  (TX_JAB_TIMEOUT | TX_UNDERRUN)) {
@@ -1867,7 +1860,7 @@ static void au1000_tx_ack(struct net_dev
ptxd = aup-tx_dma_ring[aup-tx_tail];
 
while (ptxd-buff_stat  TX_T_DONE) {
-   update_tx_stats(dev, ptxd-status, ptxd-len  0x3ff);
+   update_tx_stats(dev, ptxd-status);
ptxd-buff_stat = ~TX_T_DONE;
ptxd-len = 0;
au_sync();
@@ -1889,6 +1882,7 @@ static void au1000_tx_ack(struct net_dev
 static int au1000_tx(struct sk_buff *skb, struct net_device *dev)
 {
struct au1000_private *aup = (struct au1000_private *) dev-priv;
+   struct net_device_stats *ps = aup-stats;
volatile tx_dma_t *ptxd;
u32 buff_stat;
db_dest_t *pDB;
@@ -1908,7 +1902,7 @@ static int au1000_tx(struct sk_buff *skb
return 1;
}
else if (buff_stat  TX_T_DONE) {
-   update_tx_stats(dev, ptxd-status, ptxd-len  0x3ff);
+   update_tx_stats(dev, ptxd-status);
ptxd-len = 0;
}
 
@@ -1928,6 +1922,9 @@ static int au1000_tx(struct sk_buff *skb
else
ptxd-len = skb-len;
 
+   ps-tx_packets++;
+   ps-tx_bytes += ptxd-len;
+
ptxd-buff_stat = pDB-dma_addr | TX_DMA_ENABLE;
au_sync();
dev_kfree_skb(skb);
@@ -1936,7 +1933,6 @@ static int au1000_tx(struct sk_buff *skb
return 0;
 }
 
-
 static inline void update_rx_stats(struct net_device *dev, u32 status)
 {
struct au1000_private *aup = (struct au1000_private *) dev-priv;
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index 03804cc..0941d40 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -1412,7 +1412,7 @@ static int __init depca_mca_probe(struct
irq = 11;
break;
default:
-   printk(%s: mca_probe IRQ error.  You should never get here 
(%d).\n, dev-name, where);
+   

[git patches] net driver updates

2006-03-20 Thread Jeff Garzik
[just sent upstream; patch snipped due to size]

Please pull from 'upstream-linus' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

to receive the following updates:

 Documentation/DocBook/sis900.tmpl  |  585 --
 Documentation/networking/sis900.txt|  257 
 Documentation/DocBook/Makefile |2 
 Documentation/feature-removal-schedule.txt |7 
 Documentation/networking/00-INDEX  |2 
 Documentation/networking/README.ipw2100|   12 
 Documentation/networking/README.ipw2200|   44 
 arch/ppc/platforms/hdpu.c  |5 
 drivers/net/3c509.c|   70 -
 drivers/net/3c523.c|9 
 drivers/net/3c59x.c|7 
 drivers/net/7990.c |2 
 drivers/net/8139cp.c   |2 
 drivers/net/8139too.c  |4 
 drivers/net/82596.c|2 
 drivers/net/Kconfig|   29 
 drivers/net/apne.c |7 
 drivers/net/arcnet/Kconfig |4 
 drivers/net/arcnet/arc-rawmode.c   |2 
 drivers/net/arcnet/arc-rimi.c  |   68 -
 drivers/net/arcnet/arcnet.c|   20 
 drivers/net/arcnet/com90xx.c   |  132 +-
 drivers/net/arcnet/rfc1051.c   |2 
 drivers/net/arcnet/rfc1201.c   |2 
 drivers/net/arm/etherh.c   |3 
 drivers/net/bnx2.c |   10 
 drivers/net/bnx2_fw.h  |   84 -
 drivers/net/bonding/bond_alb.c |2 
 drivers/net/bonding/bond_main.c|   45 
 drivers/net/bonding/bond_sysfs.c   |6 
 drivers/net/bonding/bonding.h  |   33 
 drivers/net/chelsio/espi.c |   14 
 drivers/net/chelsio/subr.c |2 
 drivers/net/dgrs.c |2 
 drivers/net/dgrs_firmware.c|4 
 drivers/net/dl2k.c |4 
 drivers/net/e100.c |6 
 drivers/net/e1000/e1000.h  |   68 -
 drivers/net/e1000/e1000_ethtool.c  |  110 --
 drivers/net/e1000/e1000_hw.c   |  734 +
 drivers/net/e1000/e1000_hw.h   |  319 +
 drivers/net/e1000/e1000_main.c |  609 ---
 drivers/net/e1000/e1000_param.c|2 
 drivers/net/eepro100.c |4 
 drivers/net/epic100.c  |4 
 drivers/net/eth16i.c   |   11 
 drivers/net/fealnx.c   |2 
 drivers/net/forcedeth.c|  593 ++-
 drivers/net/hamachi.c  |2 
 drivers/net/hamradio/baycom_epp.c  |2 
 drivers/net/hp100.c|   35 
 drivers/net/ibm_emac/ibm_emac_core.c   |   40 
 drivers/net/ibm_emac/ibm_emac_core.h   |2 
 drivers/net/ibm_emac/ibm_emac_debug.c  |2 
 drivers/net/ibm_emac/ibm_emac_rgmii.h  |2 
 drivers/net/ibm_emac/ibm_emac_zmii.c   |7 
 drivers/net/ibm_emac/ibm_emac_zmii.h   |2 
 drivers/net/irda/Kconfig   |4 
 drivers/net/macsonic.c |2 
 drivers/net/mv643xx_eth.c  | 1560 ++---
 drivers/net/mv643xx_eth.h  |  250 +---
 drivers/net/natsemi.c  |  192 ++-
 drivers/net/ne-h8300.c |5 
 drivers/net/ne.c   |7 
 drivers/net/ne2.c  |7 
 drivers/net/ne2k-pci.c |2 
 drivers/net/ns83820.c  |7 
 drivers/net/oaknet.c   |3 
 drivers/net/pcmcia/3c574_cs.c  |2 
 drivers/net/pcmcia/3c589_cs.c  |5 
 drivers/net/pcmcia/fmvj18x_cs.c|2 
 drivers/net/pcmcia/nmclan_cs.c |2 
 drivers/net/pcmcia/pcnet_cs.c  |3 
 drivers/net/pcmcia/smc91c92_cs.c   |4 
 drivers/net/pcmcia/xirc2ps_cs.c|2 
 drivers/net/pcnet32.c  |6 
 drivers/net/phy/phy.c  |2 
 drivers/net/plip.c |4 
 drivers/net/ppp_async.c|3 
 drivers/net/ppp_synctty.c  |2 
 drivers/net/r8169.c|4 
 drivers/net/s2io.c |  617 ++-
 drivers/net/s2io.h |   55 -
 drivers/net/sb1000.c   |2 
 drivers/net/sb1250-mac.c   |  109 +-
 drivers/net/seeq8005.c |5 
 drivers/net/sgiseeq.c  |   17 
 drivers/net/shaper.c   |3 
 drivers/net/sis190.c   |2 
 drivers/net/sis900.c   |8