netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35.
@ 2010-05-05 23:03 David Daney
  2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

The 1/6 corrects a compile error that seems to have crept
in, as well as correcting the dev_addrs/uc snafu.

2/6 - 5/6 are some other small bug fixes.

6/6 just re-formats the code some.

They are relative to commit 0a12761bcd5646691c5d16dd93df84d1b8849285
in net-next-2.6/master

If OK please apply.

Thanks,
David Daney

David Daney (6):
  netdev: octeon_mgmt: Use proper MAC addresses.
  netdev: octeon_mgmt: Fix race condition freeing TX buffers.
  netdev: octeon_mgmt: Fix race manipulating irq bits.
  netdev: octeon_mgmt: Free TX skbufs in a timely manner.
  netdev: octeon_mgmt: Try not to drop TX packets when stopping the
    queue.
  netdev: octeon_mgmt: Remove some gratuitous blank lines.

 drivers/net/octeon/octeon_mgmt.c |   57 ++++++++++++++++++-------------------
 1 files changed, 28 insertions(+), 29 deletions(-)


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses.
  2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
@ 2010-05-05 23:03 ` David Daney
  2010-05-06  7:18   ` David Miller
  2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

The original implementation incorrectly uses netdev->dev_addrs.

Use netdev->uc instead.  Also use netdev_for_each_uc_addr to iterate
over the addresses.  Fix comment.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 drivers/net/octeon/octeon_mgmt.c |   15 +++++----------
 1 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 6b1d443..bbbd737 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -475,12 +475,11 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
 	unsigned int multicast_mode = 1; /* 1 - Reject all multicast.  */
 	struct octeon_mgmt_cam_state cam_state;
 	struct netdev_hw_addr *ha;
-	struct list_head *pos;
 	int available_cam_entries;
 
 	memset(&cam_state, 0, sizeof(cam_state));
 
-	if ((netdev->flags & IFF_PROMISC) || netdev->dev_addrs.count > 7) {
+	if ((netdev->flags & IFF_PROMISC) || netdev->uc.count > 7) {
 		cam_mode = 0;
 		available_cam_entries = 8;
 	} else {
@@ -488,13 +487,13 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
 		 * One CAM entry for the primary address, leaves seven
 		 * for the secondary addresses.
 		 */
-		available_cam_entries = 7 - netdev->dev_addrs.count;
+		available_cam_entries = 7 - netdev->uc.count;
 	}
 
 	if (netdev->flags & IFF_MULTICAST) {
 		if (cam_mode == 0 || (netdev->flags & IFF_ALLMULTI) ||
 		    netdev_mc_count(netdev) > available_cam_entries)
-			multicast_mode = 2; /* 1 - Accept all multicast.  */
+			multicast_mode = 2; /* 2 - Accept all multicast.  */
 		else
 			multicast_mode = 0; /* 0 - Use CAM.  */
 	}
@@ -502,12 +501,8 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
 	if (cam_mode == 1) {
 		/* Add primary address. */
 		octeon_mgmt_cam_state_add(&cam_state, netdev->dev_addr);
-		list_for_each(pos, &netdev->dev_addrs.list) {
-			struct netdev_hw_addr *hw_addr;
-			hw_addr = list_entry(pos, struct netdev_hw_addr, list);
-			octeon_mgmt_cam_state_add(&cam_state, hw_addr->addr);
-			list = list->next;
-		}
+		netdev_for_each_uc_addr(ha, netdev)
+			octeon_mgmt_cam_state_add(&cam_state, ha->addr);
 	}
 	if (multicast_mode == 0) {
 		netdev_for_each_mc_addr(ha, netdev)
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers.
  2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
  2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
@ 2010-05-05 23:03 ` David Daney
  2010-05-06  7:18   ` David Miller
  2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

Under heavy load the TX cleanup tasklet and xmit threads would race
and try to free too many buffers.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 drivers/net/octeon/octeon_mgmt.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index bbbd737..b975a2f 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -189,12 +189,19 @@ static void octeon_mgmt_clean_tx_buffers(struct octeon_mgmt *p)
 
 	mix_orcnt.u64 = cvmx_read_csr(CVMX_MIXX_ORCNT(port));
 	while (mix_orcnt.s.orcnt) {
+		spin_lock_irqsave(&p->tx_list.lock, flags);
+
+		mix_orcnt.u64 = cvmx_read_csr(CVMX_MIXX_ORCNT(port));
+
+		if (mix_orcnt.s.orcnt == 0) {
+			spin_unlock_irqrestore(&p->tx_list.lock, flags);
+			break;
+		}
+
 		dma_sync_single_for_cpu(p->dev, p->tx_ring_handle,
 					ring_size_to_bytes(OCTEON_MGMT_TX_RING_SIZE),
 					DMA_BIDIRECTIONAL);
 
-		spin_lock_irqsave(&p->tx_list.lock, flags);
-
 		re.d64 = p->tx_ring[p->tx_next_clean];
 		p->tx_next_clean =
 			(p->tx_next_clean + 1) % OCTEON_MGMT_TX_RING_SIZE;
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits.
  2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
  2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
  2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
@ 2010-05-05 23:03 ` David Daney
  2010-05-06  7:18   ` David Miller
  2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

Don't re-read the interrupt status register, clear the exact bits we
will be testing.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 drivers/net/octeon/octeon_mgmt.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index b975a2f..633fa89 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -598,8 +598,7 @@ static irqreturn_t octeon_mgmt_interrupt(int cpl, void *dev_id)
 	mixx_isr.u64 = cvmx_read_csr(CVMX_MIXX_ISR(port));
 
 	/* Clear any pending interrupts */
-	cvmx_write_csr(CVMX_MIXX_ISR(port),
-		       cvmx_read_csr(CVMX_MIXX_ISR(port)));
+	cvmx_write_csr(CVMX_MIXX_ISR(port), mixx_isr.u64);
 	cvmx_read_csr(CVMX_MIXX_ISR(port));
 
 	if (mixx_isr.s.irthresh) {
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner.
  2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
                   ` (2 preceding siblings ...)
  2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
@ 2010-05-05 23:03 ` David Daney
  2010-05-06  7:19   ` David Miller
  2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
  2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
  5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

We also reduce the high water mark to 1 so skbufs are not stranded for
long periods of time.  Since we are cleaning after each packet, no
need to do it in the transmit path.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 drivers/net/octeon/octeon_mgmt.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 633fa89..3cf6f62 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -832,9 +832,9 @@ static int octeon_mgmt_open(struct net_device *netdev)
 	mix_irhwm.s.irhwm = 0;
 	cvmx_write_csr(CVMX_MIXX_IRHWM(port), mix_irhwm.u64);
 
-	/* Interrupt when we have 5 or more packets to clean.  */
+	/* Interrupt when we have 1 or more packets to clean.  */
 	mix_orhwm.u64 = 0;
-	mix_orhwm.s.orhwm = 5;
+	mix_orhwm.s.orhwm = 1;
 	cvmx_write_csr(CVMX_MIXX_ORHWM(port), mix_orhwm.u64);
 
 	/* Enable receive and transmit interrupts */
@@ -995,7 +995,6 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
 	cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
 
 	netdev->trans_start = jiffies;
-	octeon_mgmt_clean_tx_buffers(p);
 	octeon_mgmt_update_tx_stats(netdev);
 	return NETDEV_TX_OK;
 }
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue.
  2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
                   ` (3 preceding siblings ...)
  2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
@ 2010-05-05 23:03 ` David Daney
  2010-05-06  7:19   ` David Miller
  2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
  5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

Stop the queue when we add the packet that will fill it instead of dropping the packet

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 drivers/net/octeon/octeon_mgmt.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 3cf6f62..1fdc7b3 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -955,6 +955,7 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
 	int port = p->port;
 	union mgmt_port_ring_entry re;
 	unsigned long flags;
+	int rv = NETDEV_TX_BUSY;
 
 	re.d64 = 0;
 	re.s.len = skb->len;
@@ -964,15 +965,18 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
 
 	spin_lock_irqsave(&p->tx_list.lock, flags);
 
+	if (unlikely(p->tx_current_fill >= ring_max_fill(OCTEON_MGMT_TX_RING_SIZE) - 1)) {
+		spin_unlock_irqrestore(&p->tx_list.lock, flags);
+		netif_stop_queue(netdev);
+		spin_lock_irqsave(&p->tx_list.lock, flags);
+	}
+
 	if (unlikely(p->tx_current_fill >=
 		     ring_max_fill(OCTEON_MGMT_TX_RING_SIZE))) {
 		spin_unlock_irqrestore(&p->tx_list.lock, flags);
-
 		dma_unmap_single(p->dev, re.s.addr, re.s.len,
 				 DMA_TO_DEVICE);
-
-		netif_stop_queue(netdev);
-		return NETDEV_TX_BUSY;
+		goto out;
 	}
 
 	__skb_queue_tail(&p->tx_list, skb);
@@ -995,8 +999,10 @@ static int octeon_mgmt_xmit(struct sk_buff *skb, struct net_device *netdev)
 	cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
 
 	netdev->trans_start = jiffies;
+	rv = NETDEV_TX_OK;
+out:
 	octeon_mgmt_update_tx_stats(netdev);
-	return NETDEV_TX_OK;
+	return rv;
 }
 
 #ifdef CONFIG_NET_POLL_CONTROLLER
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines.
  2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
                   ` (4 preceding siblings ...)
  2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
@ 2010-05-05 23:03 ` David Daney
  2010-05-06  7:19   ` David Miller
  5 siblings, 1 reply; 13+ messages in thread
From: David Daney @ 2010-05-05 23:03 UTC (permalink / raw)
  To: netdev; +Cc: linux-mips, David Daney

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
---
 drivers/net/octeon/octeon_mgmt.c |    7 -------
 1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/drivers/net/octeon/octeon_mgmt.c b/drivers/net/octeon/octeon_mgmt.c
index 1fdc7b3..3924703 100644
--- a/drivers/net/octeon/octeon_mgmt.c
+++ b/drivers/net/octeon/octeon_mgmt.c
@@ -380,7 +380,6 @@ done:
 	mix_ircnt.s.ircnt = 1;
 	cvmx_write_csr(CVMX_MIXX_IRCNT(port), mix_ircnt.u64);
 	return rc;
-
 }
 
 static int octeon_mgmt_receive_packets(struct octeon_mgmt *p, int budget)
@@ -390,7 +389,6 @@ static int octeon_mgmt_receive_packets(struct octeon_mgmt *p, int budget)
 	union cvmx_mixx_ircnt mix_ircnt;
 	int rc;
 
-
 	mix_ircnt.u64 = cvmx_read_csr(CVMX_MIXX_IRCNT(port));
 	while (work_done < budget && mix_ircnt.s.ircnt) {
 
@@ -516,7 +514,6 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
 			octeon_mgmt_cam_state_add(&cam_state, ha->addr);
 	}
 
-
 	spin_lock_irqsave(&p->lock, flags);
 
 	/* Disable packet I/O. */
@@ -525,7 +522,6 @@ static void octeon_mgmt_set_rx_filtering(struct net_device *netdev)
 	agl_gmx_prtx.s.en = 0;
 	cvmx_write_csr(CVMX_AGL_GMX_PRTX_CFG(port), agl_gmx_prtx.u64);
 
-
 	adr_ctl.u64 = 0;
 	adr_ctl.s.cam_mode = cam_mode;
 	adr_ctl.s.mcst = multicast_mode;
@@ -928,7 +924,6 @@ static int octeon_mgmt_stop(struct net_device *netdev)
 
 	octeon_mgmt_reset_hw(p);
 
-
 	free_irq(p->irq, netdev);
 
 	/* dma_unmap is a nop on Octeon, so just free everything.  */
@@ -945,7 +940,6 @@ static int octeon_mgmt_stop(struct net_device *netdev)
 			 DMA_BIDIRECTIONAL);
 	kfree(p->tx_ring);
 
-
 	return 0;
 }
 
@@ -1112,7 +1106,6 @@ static int __init octeon_mgmt_probe(struct platform_device *pdev)
 	netdev->netdev_ops = &octeon_mgmt_ops;
 	netdev->ethtool_ops = &octeon_mgmt_ethtool_ops;
 
-
 	/* The mgmt ports get the first N MACs.  */
 	for (i = 0; i < 6; i++)
 		netdev->dev_addr[i] = octeon_bootinfo->mac_addr_base[i];
-- 
1.6.6.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses.
  2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
@ 2010-05-06  7:18   ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06  7:18 UTC (permalink / raw)
  To: ddaney; +Cc: netdev, linux-mips

From: David Daney <ddaney@caviumnetworks.com>
Date: Wed,  5 May 2010 16:03:08 -0700

> The original implementation incorrectly uses netdev->dev_addrs.
> 
> Use netdev->uc instead.  Also use netdev_for_each_uc_addr to iterate
> over the addresses.  Fix comment.
> 
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>

Applied.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers.
  2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
@ 2010-05-06  7:18   ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06  7:18 UTC (permalink / raw)
  To: ddaney; +Cc: netdev, linux-mips

From: David Daney <ddaney@caviumnetworks.com>
Date: Wed,  5 May 2010 16:03:09 -0700

> Under heavy load the TX cleanup tasklet and xmit threads would race
> and try to free too many buffers.
> 
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>

Applied.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits.
  2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
@ 2010-05-06  7:18   ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06  7:18 UTC (permalink / raw)
  To: ddaney; +Cc: netdev, linux-mips

From: David Daney <ddaney@caviumnetworks.com>
Date: Wed,  5 May 2010 16:03:10 -0700

> Don't re-read the interrupt status register, clear the exact bits we
> will be testing.
> 
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>

Applied.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner.
  2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
@ 2010-05-06  7:19   ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06  7:19 UTC (permalink / raw)
  To: ddaney; +Cc: netdev, linux-mips

From: David Daney <ddaney@caviumnetworks.com>
Date: Wed,  5 May 2010 16:03:11 -0700

> We also reduce the high water mark to 1 so skbufs are not stranded for
> long periods of time.  Since we are cleaning after each packet, no
> need to do it in the transmit path.
> 
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>

Applied.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue.
  2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
@ 2010-05-06  7:19   ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06  7:19 UTC (permalink / raw)
  To: ddaney; +Cc: netdev, linux-mips

From: David Daney <ddaney@caviumnetworks.com>
Date: Wed,  5 May 2010 16:03:12 -0700

> Stop the queue when we add the packet that will fill it instead of dropping the packet
> 
> Signed-off-by: David Daney <ddaney@caviumnetworks.com>

Applied.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines.
  2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
@ 2010-05-06  7:19   ` David Miller
  0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2010-05-06  7:19 UTC (permalink / raw)
  To: ddaney; +Cc: netdev, linux-mips

From: David Daney <ddaney@caviumnetworks.com>
Date: Wed,  5 May 2010 16:03:13 -0700

> Signed-off-by: David Daney <ddaney@caviumnetworks.com>

Applied.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-05-06  7:19 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-05 23:03 [PATCH 0/6] netdev: octeon_mgmt: A few fixes for 2.6.35 David Daney
2010-05-05 23:03 ` [PATCH 1/6] netdev: octeon_mgmt: Use proper MAC addresses David Daney
2010-05-06  7:18   ` David Miller
2010-05-05 23:03 ` [PATCH 2/6] netdev: octeon_mgmt: Fix race condition freeing TX buffers David Daney
2010-05-06  7:18   ` David Miller
2010-05-05 23:03 ` [PATCH 3/6] netdev: octeon_mgmt: Fix race manipulating irq bits David Daney
2010-05-06  7:18   ` David Miller
2010-05-05 23:03 ` [PATCH 4/6] netdev: octeon_mgmt: Free TX skbufs in a timely manner David Daney
2010-05-06  7:19   ` David Miller
2010-05-05 23:03 ` [PATCH 5/6] netdev: octeon_mgmt: Try not to drop TX packets when stopping the queue David Daney
2010-05-06  7:19   ` David Miller
2010-05-05 23:03 ` [PATCH 6/6] netdev: octeon_mgmt: Remove some gratuitous blank lines David Daney
2010-05-06  7:19   ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).