Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH 3/6] ibmveth: Add ethtool TSO handlers
From: Jeff Garzik @ 2007-08-31 13:14 UTC (permalink / raw)
  To: Brian King; +Cc: santil, rcjenn, netdev, linuxppc-dev
In-Reply-To: <200708171416.l7HEGbwx003958@d01av02.pok.ibm.com>

Brian King wrote:
> Add handlers for get_tso and get_ufo to prevent errors being printed
> by ethtool.
> 
> Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
> ---
> 
>  linux-2.6-bjking1/drivers/net/ibmveth.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff -puN drivers/net/ibmveth.c~ibmveth_ethtool_get_tso drivers/net/ibmveth.c
> --- linux-2.6/drivers/net/ibmveth.c~ibmveth_ethtool_get_tso	2007-08-08 10:46:28.000000000 -0500
> +++ linux-2.6-bjking1/drivers/net/ibmveth.c	2007-08-08 10:46:28.000000000 -0500
> @@ -767,6 +767,8 @@ static const struct ethtool_ops netdev_e
>  	.set_tx_csum		= ibmveth_set_tx_csum,
>  	.get_rx_csum		= ibmveth_get_rx_csum,
>  	.set_rx_csum		= ibmveth_set_rx_csum,
> +	.get_tso			= ethtool_op_get_tso,
> +	.get_ufo			= ethtool_op_get_ufo,

This patch is fine, but I wonder if we shouldn't add some code to 
net/core/ethtool.c along the lines of...

	if (!netdev->ethtool_ops->get_tso)
		ethtool_op_get_tso(args);
	else
		netdev->ethtool_ops->get_tso(args);

Because this certainly seems like desirable behavior across all devices.



^ permalink raw reply

* [PATCH 0/2 v2] PS3: gelic updates
From: Masakazu Mokuno @ 2007-08-31 13:17 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Linas Vepstas, netdev, cbe-oss-dev, geoffrey.levand,
	Geert Uytterhoeven

Hi Jeff,

The comments for the patch #1 was rewritten.  I believe
it's more descriptive than the older one.

  #1 Change the way to handle tx skbs (comments rewritten)
  
  #2 Remove work-around code no longer needed

regards.

--
Masakazu MOKUNO


^ permalink raw reply

* Re: [PATCH 2/7] fs_enet: Whitespace cleanup.
From: Jeff Garzik @ 2007-08-31 13:19 UTC (permalink / raw)
  To: Scott Wood; +Cc: netdev, linuxppc-dev
In-Reply-To: <20070817175359.GB9218@ld0162-tx32.am.freescale.net>

Scott Wood wrote:
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
>  drivers/net/fs_enet/fs_enet-main.c |   85 ++++++++++++++++-------------------
>  drivers/net/fs_enet/fs_enet.h      |    4 +-
>  drivers/net/fs_enet/mac-fcc.c      |    1 -
>  drivers/net/fs_enet/mii-fec.c      |    1 -
>  4 files changed, 41 insertions(+), 50 deletions(-)

ACK patches 2-7



^ permalink raw reply

* Re: [REVISED PATCH] 3c59x: check return of pci_enable_device()
From: Steffen Klassert @ 2007-08-31 13:21 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Mark Hindley, akpm, netdev
In-Reply-To: <46D812D5.80904@garzik.org>

On Fri, Aug 31, 2007 at 09:08:37AM -0400, Jeff Garzik wrote:
> Mark Hindley wrote:
> >Revised patch for this.
> >
> >Mark
> >
> >
> >commit 5cf33391eba81a49038fa8be8cbad8425b80bf7f
> >Author: Mark Hindley <mark@hindley.org.uk>
> >Date:   Thu Aug 16 11:26:35 2007 +0100
> >
> >    Check return of pci_enable_device in vortex_up().
> >    
> >    Also modify vortex_up to return error to callers. Handle failure of 
> >    vortex_up in
> >    vortex_open and vortex_resume.
> >    
> >    Signed-off-by: Mark Hindley <mark@hindley.org.uk>
> 
> Steffen, did you ACK this?  and/or going to resend it to me?
> 

Yes, I did. Andrew has it already in -mm, 
I guess that he will resend it to you soon.

Steffen

^ permalink raw reply

* [PATCH 1/2 v2] PS3: changed the way to handle tx skbs
From: Masakazu Mokuno @ 2007-08-31 13:22 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Linas Vepstas, netdev, cbe-oss-dev, geoffrey.levand,
	Geert Uytterhoeven
In-Reply-To: <20070831220507.C31D.MOKUNO@sm.sony.co.jp>

The PS3 virtual network device requires a vlan tag in the sending packet
to select the destination device, ethernet port or wireless. 
As the vlan tag field is in the middle of the passed data, 
we should insert it into the packet data.
To avoid copying much of the packet data, the driver used two tx descriptors
for one tx skb; one descriptor was for sending a small static 
buffer which contained vlan tag and copied header (two mac addresses),
one was for the residual data after the vlan field.

This patch changes the way to insert the vlan tag.  By changing 
netdev->hard_header_len, we can make the headroom for moving mac address
fields in the skb buffer. Then we can send one tx skb with
one tx descriptor.  This also gives us a tx throughut gain of approx.
20% according to netperf results.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
CC: Geoff Levand <geoffrey.levand@am.sony.com>
---
 drivers/net/ps3_gelic_net.c |  140 +++++++++++++++++++-------------------------
 1 file changed, 63 insertions(+), 77 deletions(-)

--- a/drivers/net/ps3_gelic_net.c
+++ b/drivers/net/ps3_gelic_net.c
@@ -351,19 +351,13 @@ static int gelic_net_alloc_rx_skbs(struc
 static void gelic_net_release_tx_descr(struct gelic_net_card *card,
 			    struct gelic_net_descr *descr)
 {
-	struct sk_buff *skb;
+	struct sk_buff *skb = descr->skb;
 
+	BUG_ON(!(descr->data_status & (1 << GELIC_NET_TXDESC_TAIL)));
 
-	if (descr->data_status & (1 << GELIC_NET_TXDESC_TAIL)) {
-		/* 2nd descriptor */
-		skb = descr->skb;
-		dma_unmap_single(ctodev(card), descr->buf_addr, skb->len,
-				 DMA_TO_DEVICE);
-		dev_kfree_skb_any(skb);
-	} else {
-		dma_unmap_single(ctodev(card), descr->buf_addr,
-				 descr->buf_size, DMA_TO_DEVICE);
-	}
+	dma_unmap_single(ctodev(card), descr->buf_addr, skb->len,
+			 DMA_TO_DEVICE);
+	dev_kfree_skb_any(skb);
 
 	descr->buf_addr = 0;
 	descr->buf_size = 0;
@@ -426,7 +420,7 @@ static void gelic_net_release_tx_chain(s
 		release ++;
 	}
 out:
-	if (!stop && (2 < release))
+	if (!stop && release)
 		netif_wake_queue(card->netdev);
 }
 
@@ -592,13 +586,10 @@ gelic_net_get_next_tx_descr(struct gelic
 {
 	if (!card->tx_chain.head)
 		return NULL;
-	/*  see if we can two consecutive free descrs */
+	/*  see if the next descriptor is free */
 	if (card->tx_chain.tail != card->tx_chain.head->next &&
 	    gelic_net_get_descr_status(card->tx_chain.head) ==
-	    GELIC_NET_DESCR_NOT_IN_USE &&
-	    card->tx_chain.tail != card->tx_chain.head->next->next &&
-	    gelic_net_get_descr_status(card->tx_chain.head->next) ==
-	     GELIC_NET_DESCR_NOT_IN_USE )
+	    GELIC_NET_DESCR_NOT_IN_USE)
 		return card->tx_chain.head;
 	else
 		return NULL;
@@ -609,44 +600,66 @@ gelic_net_get_next_tx_descr(struct gelic
  * gelic_net_set_txdescr_cmdstat - sets the tx descriptor command field
  * @descr: descriptor structure to fill out
  * @skb: packet to consider
- * @middle: middle of frame
  *
  * fills out the command and status field of the descriptor structure,
  * depending on hardware checksum settings. This function assumes a wmb()
  * has executed before.
  */
 static void gelic_net_set_txdescr_cmdstat(struct gelic_net_descr *descr,
-					  struct sk_buff *skb, int middle)
+					  struct sk_buff *skb)
 {
-	u32 eofr;
-
-	if (middle)
-		eofr = 0;
-	else
-		eofr = GELIC_NET_DMAC_CMDSTAT_END_FRAME;
-
 	if (skb->ip_summed != CHECKSUM_PARTIAL)
-		descr->dmac_cmd_status = GELIC_NET_DMAC_CMDSTAT_NOCS | eofr;
+		descr->dmac_cmd_status = GELIC_NET_DMAC_CMDSTAT_NOCS |
+			GELIC_NET_DMAC_CMDSTAT_END_FRAME;
 	else {
 		/* is packet ip?
 		 * if yes: tcp? udp? */
 		if (skb->protocol == htons(ETH_P_IP)) {
 			if (ip_hdr(skb)->protocol == IPPROTO_TCP)
 				descr->dmac_cmd_status =
-					GELIC_NET_DMAC_CMDSTAT_TCPCS | eofr;
+					GELIC_NET_DMAC_CMDSTAT_TCPCS |
+					GELIC_NET_DMAC_CMDSTAT_END_FRAME;
+
 			else if (ip_hdr(skb)->protocol == IPPROTO_UDP)
 				descr->dmac_cmd_status =
-					GELIC_NET_DMAC_CMDSTAT_UDPCS | eofr;
+					GELIC_NET_DMAC_CMDSTAT_UDPCS |
+					GELIC_NET_DMAC_CMDSTAT_END_FRAME;
 			else	/*
 				 * the stack should checksum non-tcp and non-udp
 				 * packets on his own: NETIF_F_IP_CSUM
 				 */
 				descr->dmac_cmd_status =
-					GELIC_NET_DMAC_CMDSTAT_NOCS | eofr;
+					GELIC_NET_DMAC_CMDSTAT_NOCS |
+					GELIC_NET_DMAC_CMDSTAT_END_FRAME;
 		}
 	}
 }
 
+static inline struct sk_buff *gelic_put_vlan_tag(struct sk_buff *skb,
+						 unsigned short tag)
+{
+	struct vlan_ethhdr *veth;
+	static unsigned int c;
+
+	if (skb_headroom(skb) < VLAN_HLEN) {
+		struct sk_buff *sk_tmp = skb;
+		pr_debug("%s: hd=%d c=%ud\n", __func__, skb_headroom(skb), c);
+		skb = skb_realloc_headroom(sk_tmp, VLAN_HLEN);
+		if (!skb)
+			return NULL;
+		dev_kfree_skb_any(sk_tmp);
+	}
+	veth = (struct vlan_ethhdr *)skb_push(skb, VLAN_HLEN);
+
+	/* Move the mac addresses to the top of buffer */
+	memmove(skb->data, skb->data + VLAN_HLEN, 2 * ETH_ALEN);
+
+	veth->h_vlan_proto = __constant_htons(ETH_P_8021Q);
+	veth->h_vlan_TCI = htons(tag);
+
+	return skb;
+}
+
 /**
  * gelic_net_prepare_tx_descr_v - get dma address of skb_data
  * @card: card structure
@@ -660,65 +673,35 @@ static int gelic_net_prepare_tx_descr_v(
 					struct gelic_net_descr *descr,
 					struct sk_buff *skb)
 {
-	dma_addr_t buf[2];
-	unsigned int vlan_len;
-	struct gelic_net_descr *sec_descr = descr->next;
+	dma_addr_t buf;
 
-	if (skb->len < GELIC_NET_VLAN_POS)
-		return -EINVAL;
-
-	vlan_len = GELIC_NET_VLAN_POS;
-	memcpy(&descr->vlan, skb->data, vlan_len);
 	if (card->vlan_index != -1) {
-		/* internal vlan tag used */
-		descr->vlan.h_vlan_proto = htons(ETH_P_8021Q); /* vlan 0x8100*/
-		descr->vlan.h_vlan_TCI = htons(card->vlan_id[card->vlan_index]);
-		vlan_len += VLAN_HLEN; /* added for above two lines */
+		struct sk_buff *skb_tmp;
+		skb_tmp = gelic_put_vlan_tag(skb,
+					     card->vlan_id[card->vlan_index]);
+		if (!skb_tmp)
+			return -ENOMEM;
+		skb = skb_tmp;
 	}
 
-	/* map data area */
-	buf[0] = dma_map_single(ctodev(card), &descr->vlan,
-			     vlan_len, DMA_TO_DEVICE);
+	buf = dma_map_single(ctodev(card), skb->data, skb->len, DMA_TO_DEVICE);
 
-	if (!buf[0]) {
-		dev_err(ctodev(card),
-			"dma map 1 failed (%p, %i). Dropping packet\n",
-			skb->data, vlan_len);
-		return -ENOMEM;
-	}
-
-	buf[1] = dma_map_single(ctodev(card), skb->data + GELIC_NET_VLAN_POS,
-			     skb->len - GELIC_NET_VLAN_POS,
-			     DMA_TO_DEVICE);
-
-	if (!buf[1]) {
+	if (!buf) {
 		dev_err(ctodev(card),
 			"dma map 2 failed (%p, %i). Dropping packet\n",
-			skb->data + GELIC_NET_VLAN_POS,
-			skb->len - GELIC_NET_VLAN_POS);
-		dma_unmap_single(ctodev(card), buf[0], vlan_len,
-				 DMA_TO_DEVICE);
+			skb->data, skb->len);
 		return -ENOMEM;
 	}
 
-	/* first descr */
-	descr->buf_addr = buf[0];
-	descr->buf_size = vlan_len;
-	descr->skb = NULL; /* not used */
+	descr->buf_addr = buf;
+	descr->buf_size = skb->len;
+	descr->skb = skb;
 	descr->data_status = 0;
-	descr->next_descr_addr = descr->next->bus_addr;
-	gelic_net_set_txdescr_cmdstat(descr, skb, 1); /* not the frame end */
-
-	/* second descr */
-	sec_descr->buf_addr = buf[1];
-	sec_descr->buf_size = skb->len - GELIC_NET_VLAN_POS;
-	sec_descr->skb = skb;
-	sec_descr->data_status = 0;
-	sec_descr->next_descr_addr = 0; /* terminate hw descr */
-	gelic_net_set_txdescr_cmdstat(sec_descr, skb, 0);
+	descr->next_descr_addr = 0; /* terminate hw descr */
+	gelic_net_set_txdescr_cmdstat(descr, skb);
 
 	/* bump free descriptor pointer */
-	card->tx_chain.head = sec_descr->next;
+	card->tx_chain.head = descr->next;
 	return 0;
 }
 
@@ -1422,8 +1405,11 @@ static int gelic_net_setup_netdev(struct
 			dev_dbg(ctodev(card), "vlan_id:%d, %lx\n", i, v1);
 		}
 	}
-	if (card->vlan_id[GELIC_NET_VLAN_WIRED - 1])
+
+	if (card->vlan_id[GELIC_NET_VLAN_WIRED - 1]) {
 		card->vlan_index = GELIC_NET_VLAN_WIRED - 1;
+		netdev->hard_header_len += VLAN_HLEN;
+	}
 
 	status = register_netdev(netdev);
 	if (status) {
-- 
Masakazu MOKUNO


^ permalink raw reply

* Re: [PATCH 1/7] Generic bitbanged MDIO library
From: Jeff Garzik @ 2007-08-31 13:23 UTC (permalink / raw)
  To: Scott Wood; +Cc: netdev, linuxppc-dev, Paul Mackerras
In-Reply-To: <20070817175357.GA9218@ld0162-tx32.am.freescale.net>

Scott Wood wrote:
> Previously, bitbanged MDIO was only supported in individual
> hardware-specific drivers.  This code factors out the higher level
> protocol implementation, reducing the hardware-specific portion to
> functions setting direction, data, and clock.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---
>  drivers/net/phy/Kconfig        |    9 ++
>  drivers/net/phy/Makefile       |    1 +
>  drivers/net/phy/mdio-bitbang.c |  187 ++++++++++++++++++++++++++++++++++++++++
>  include/linux/mdio-bitbang.h   |   42 +++++++++
>  4 files changed, 239 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/net/phy/mdio-bitbang.c
>  create mode 100644 include/linux/mdio-bitbang.h

I cannot ACK this, nor do I want to see it merged, until users appear 
and have been reviewed alongside this.  I do not see any fs_enet patches 
that actually use this.

five-second-glance comments:

* "mdio_bitbang_" is a long prefix.  consider "mdiobb_" or somesuch

* the delay (where you call ndelay()) is not guaranteed without a flush 
of some sort

* how widely applicable is this "generic" library?  have you converted 
any non-embedded drivers over to it?


^ permalink raw reply

* [PATCH 2/2 v2] PS3: Remove the workaround no longer needed
From: Masakazu Mokuno @ 2007-08-31 13:25 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Linas Vepstas, netdev, cbe-oss-dev, geoffrey.levand,
	Geert Uytterhoeven
In-Reply-To: <20070831220507.C31D.MOKUNO@sm.sony.co.jp>

Removed the workaround that was needed for PS3 firmware versions 
prior to the first release.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
CC: Geoff Levand <geoffrey.levand@am.sony.com>
---
 drivers/net/ps3_gelic_net.c |   16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

--- a/drivers/net/ps3_gelic_net.c
+++ b/drivers/net/ps3_gelic_net.c
@@ -732,25 +732,17 @@ static int gelic_net_kick_txdma(struct g
 				struct gelic_net_descr *descr)
 {
 	int status = 0;
-	int count = 10;
 
 	if (card->tx_dma_progress)
 		return 0;
 
 	if (gelic_net_get_descr_status(descr) == GELIC_NET_DESCR_CARDOWNED) {
 		card->tx_dma_progress = 1;
-		/* sometimes we need retry here */
-		while (count--) {
-			status = lv1_net_start_tx_dma(bus_id(card),
-						      dev_id(card),
-						      descr->bus_addr, 0);
-			if (!status)
-				break;
-		}
-		if (!count)
+		status = lv1_net_start_tx_dma(bus_id(card), dev_id(card),
+					      descr->bus_addr, 0);
+		if (status)
 			dev_info(ctodev(card), "lv1_net_start_txdma failed," \
-				"status=%d %#lx\n",
-				 status, card->irq_status);
+				 "status=%d\n", status);
 	}
 	return status;
 }


-- 
Masakazu MOKUNO


^ permalink raw reply

* Re: [PATCH 2.6.24 2/3]S2io: Support for add/delete/store/restore ethernet addresses
From: Jeff Garzik @ 2007-08-31 13:28 UTC (permalink / raw)
  To: Sreenivasa Honnur; +Cc: netdev, support
In-Reply-To: <Pine.GSO.4.10.10708220206510.22078-100000@guinness>

Sreenivasa Honnur wrote:
> - Support to add/delete/store/restore 64 and 128 Ethernet addresses for
> Xframe I and Xframe II respectively.
> 
> Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
> Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>

What is the purpose of this?  We do not support more than one unicast 
MAC address at present...

certainly multicast is different



^ permalink raw reply

* Re: [PATCH 2.6.24 3/3]S2io: Updating transceiver information in ethtool function
From: Jeff Garzik @ 2007-08-31 13:28 UTC (permalink / raw)
  To: Sreenivasa Honnur; +Cc: netdev, support
In-Reply-To: <Pine.GSO.4.10.10708220345360.29101-100000@guinness>

Sreenivasa Honnur wrote:
> - Update transceiver information in ethtool function
>  
> Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
> Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
> ---
> diff -urpN patch2/drivers/net/s2io.c patch3/drivers/net/s2io.c
> --- patch2/drivers/net/s2io.c	2007-08-18 07:19:21.000000000 +0530
> +++ patch3/drivers/net/s2io.c	2007-08-18 07:20:27.000000000 +0530
> @@ -84,7 +84,7 @@
>  #include "s2io.h"
>  #include "s2io-regs.h"
>  
> -#define DRV_VERSION "2.0.26.4"
> +#define DRV_VERSION "2.0.26.5"
>  
>  /* S2io Driver name & version. */
>  static char s2io_driver_name[] = "Neterion";
> @@ -5459,7 +5459,9 @@ static int s2io_ethtool_gset(struct net_
>  	info->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE);
>  	info->advertising = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE);
>  	info->port = PORT_FIBRE;
> -	/* info->transceiver?? TODO */
> +
> +	/* info->transceiver */
> +	info->transceiver = XCVR_EXTERNAL;

ACK



^ permalink raw reply

* Re: [PATCH 5/5] Net: ath5k, kconfig changes
From: Jeff Garzik @ 2007-08-31 13:30 UTC (permalink / raw)
  To: Dan Williams
  Cc: John W. Linville, Nick Kossifidis, Christoph Hellwig, Jiri Slaby,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1188561531.2668.7.camel-xTRJqYXIWqq1Tluu+1bJKiZi+YwRKgec@public.gmane.org>

Dan Williams wrote:
> On Thu, 2007-08-30 at 08:36 -0400, John W. Linville wrote:
>> On Thu, Aug 30, 2007 at 04:38:09AM +0300, Nick Kossifidis wrote:
>>> 2007/8/28, Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>:
>>>> Also this whole patch seems rather pointless.  It saves only
>>>> very little and turns the driver into a complete ifdef maze.
>>> Also most
>>> people will use 5212 code only, 5211 cards are on some old laptops and
>>> 5210, well i couldn't even find  a 5210 for actual testing :P
>> FWIW, I'd bet dollars to donuts that distros will enable them all
>> together.
> 
> I would certainly _hope_ that distros enable everything -that is in the
> kernel- that they can get their hands on, otherwise when you stick a
> card in, it doesn't just work.

Distros definitely -do not- do this.  Plenty of ancient ISA drivers are 
disabled at build time, for example, in many distros.

	Jeff

^ permalink raw reply

* Re: [PATCH 1/6] ibmveth: Enable TCP checksum offload
From: Jeff Garzik @ 2007-08-31 13:32 UTC (permalink / raw)
  To: Brian King; +Cc: santil, rcjenn, netdev, linuxppc-dev
In-Reply-To: <11873601831813-patch-mail.ibm.com>

Brian King wrote:
> This patchset enables TCP checksum offload support for IPV4
> on ibmveth. This completely eliminates the generation and checking of
> the checksum for packets that are completely virtual and never
> touch a physical network. A simple TCP_STREAM netperf run on
> a virtual network with maximum mtu set yielded a ~30% increase
> in throughput. This feature is enabled by default on systems that
> support it, but can be disabled with a module option.
> 
> Signed-off-by: Brian King <brking@linux.vnet.ibm.com>

applied 1-6



^ permalink raw reply

* Re: [REVISED PATCH] 3c59x: check return of pci_enable_device()
From: Jeff Garzik @ 2007-08-31 13:32 UTC (permalink / raw)
  To: Mark Hindley; +Cc: Steffen Klassert, akpm, netdev
In-Reply-To: <20070816102840.GG14245@hindley.org.uk>

Mark Hindley wrote:
> Revised patch for this.
> 
> Mark
> 
> 
> commit 5cf33391eba81a49038fa8be8cbad8425b80bf7f
> Author: Mark Hindley <mark@hindley.org.uk>
> Date:   Thu Aug 16 11:26:35 2007 +0100
> 
>     Check return of pci_enable_device in vortex_up().
>     
>     Also modify vortex_up to return error to callers. Handle failure of vortex_up in
>     vortex_open and vortex_resume.
>     
>     Signed-off-by: Mark Hindley <mark@hindley.org.uk>

applied



^ permalink raw reply

* Re: [Bugme-new] [Bug 8961] New: BUG triggered by oidentd in netlink code
From: Athanasius @ 2007-08-31 12:38 UTC (permalink / raw)
  To: Patrick McHardy, linux-kernel; +Cc: Andrew Morton, netdev, bugme-daemon, link
In-Reply-To: <Pine.LNX.4.64.0708311258520.8423@x2>

[-- Attachment #1: Type: text/plain, Size: 863 bytes --]

On Fri, Aug 31, 2007 at 01:05:04PM +0200, Patrick McHardy wrote:
> Seems to be a bug introduced by the netlink_run_queue conversion,
> since there is no locking and netlink_run_queue doesn't check
> for NULL results from skb_dequeue, it might pass NULL to
> netlink_rcv_skb, which crashes.
> 
> Does this patch help?

  I'll compile up a new kernel, likely 2.6.22.6, plus this patch, and
reboot to it tonight.  I still don't know *exactly* how to trigger the
bug on demand though, it's not reocurred since I posted the bug report
(but had happened about a week before as well).

thanks,

-Ath
-- 
- Athanasius = Athanasius(at)miggy.org / http://www.miggy.org/
                  Finger athan(at)fysh.org for PGP key
	   "And it's me who is my enemy. Me who beats me up.
Me who makes the monsters. Me who strips my confidence." Paula Cole - ME

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: [REVISED PATCH] 3c59x: check return of pci_enable_device()
From: Jeff Garzik @ 2007-08-31 13:33 UTC (permalink / raw)
  To: Steffen Klassert; +Cc: Mark Hindley, akpm, netdev
In-Reply-To: <20070831132132.GA2647@newton.mathematik.tu-chemnitz.de>

Steffen Klassert wrote:
>>> commit 5cf33391eba81a49038fa8be8cbad8425b80bf7f
>>> Author: Mark Hindley <mark@hindley.org.uk>
>>> Date:   Thu Aug 16 11:26:35 2007 +0100
>>>
>>>    Check return of pci_enable_device in vortex_up().
>>>    
>>>    Also modify vortex_up to return error to callers. Handle failure of 
>>>    vortex_up in
>>>    vortex_open and vortex_resume.
>>>    
>>>    Signed-off-by: Mark Hindley <mark@hindley.org.uk>
>> Steffen, did you ACK this?  and/or going to resend it to me?

> Yes, I did. Andrew has it already in -mm, 
> I guess that he will resend it to you soon.


No need for a resend, I just wanted to make sure I wasn't stepping on 
your toes by applying this patch _instead of_ one that was going to be 
resent.


^ permalink raw reply

* Re: [PATCH 8/11] cxgb3 - Update internal memory management
From: Jeff Garzik @ 2007-08-31 13:36 UTC (permalink / raw)
  To: Divy Le Ray; +Cc: netdev, linux-kernel, swise
In-Reply-To: <20070822034941.9387.79621.stgit@speedy5>

Divy Le Ray wrote:
> From: Divy Le Ray <divy@chelsio.com>
> 
> Set PM1 internal memory to round robin mode
> It balances access to this internal memory for multiport adapters.
> 
> Signed-off-by: Divy Le Ray <divy@chelsio.com>
> ---
> 
>  drivers/net/cxgb3/regs.h  |    2 ++
>  drivers/net/cxgb3/t3_hw.c |    2 ++
>  2 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/cxgb3/regs.h b/drivers/net/cxgb3/regs.h
> index 2824278..5e1bc0d 100644
> --- a/drivers/net/cxgb3/regs.h
> +++ b/drivers/net/cxgb3/regs.h
> @@ -1326,6 +1326,7 @@
>  #define V_D0_WEIGHT(x) ((x) << S_D0_WEIGHT)
>  
>  #define A_PM1_RX_CFG 0x5c0
> +#define A_PM1_RX_MODE 0x5c4
>  
>  #define A_PM1_RX_INT_ENABLE 0x5d8
>  
> @@ -1394,6 +1395,7 @@
>  #define A_PM1_RX_INT_CAUSE 0x5dc
>  
>  #define A_PM1_TX_CFG 0x5e0
> +#define A_PM1_TX_MODE 0x5e4
>  
>  #define A_PM1_TX_INT_ENABLE 0x5f8

Future note:

would be nice to see the above as enums as well



^ permalink raw reply

* Re: [PATCH 8/11] cxgb3 - Update internal memory management
From: Jeff Garzik @ 2007-08-31 13:37 UTC (permalink / raw)
  To: Divy Le Ray; +Cc: netdev, linux-kernel, swise
In-Reply-To: <20070822034941.9387.79621.stgit@speedy5>

Divy Le Ray wrote:
> From: Divy Le Ray <divy@chelsio.com>
> 
> Set PM1 internal memory to round robin mode
> It balances access to this internal memory for multiport adapters.
> 
> Signed-off-by: Divy Le Ray <divy@chelsio.com>
> ---
> 
>  drivers/net/cxgb3/regs.h  |    2 ++
>  drivers/net/cxgb3/t3_hw.c |    2 ++
>  2 files changed, 4 insertions(+), 0 deletions(-)

applied patches 1-8



^ permalink raw reply

* Re: [PATCH 9/11] cxgb3 - engine microcode update
From: Jeff Garzik @ 2007-08-31 13:38 UTC (permalink / raw)
  To: Divy Le Ray; +Cc: netdev, linux-kernel, swise
In-Reply-To: <20070822034947.9404.87301.stgit@speedy5>

Divy Le Ray wrote:
> From: Divy Le Ray <divy@chelsio.com>
> 
> Load microcode engine when the interface
> is configured up.
> Bump up version to 1.1.0.
> Allow the driver to be and running with
> older microcode images.
> Allow ethtool to log the microcode version.
> 
> Signed-off-by: Divy Le Ray <divy@chelsio.com>

ACK patches 9-14, but dropped, since they do not apply to #upstream 
(probably due to fixes sent into 2.6.23-rc)



^ permalink raw reply

* Re: [PATCH 07/12] sky2: use net_device internal stats
From: Jeff Garzik @ 2007-08-31 13:43 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev, akpm
In-Reply-To: <20070829195843.025028477@linux-foundation.org>

NAK -- grep around net/core, you want ->get_stats()




^ permalink raw reply

* Re: [PATCH 01/12] sky2: fe+ chip support
From: Jeff Garzik @ 2007-08-31 13:43 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev, akpm
In-Reply-To: <20070829195842.694250637@linux-foundation.org>

applied 1-6



^ permalink raw reply

* Re: Please pull 'upstream-jgarzik' branch of wireless-2.6
From: Jeff Garzik @ 2007-08-31 13:44 UTC (permalink / raw)
  To: John W. Linville
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20070828231731.GB2967-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>

John W. Linville wrote:
> Jeff,
> 
> A few more for 2.6.24 -- mostly libertas.
> 
> Individual patches are available here:
> 
> 	http://www.kernel.org/pub/linux/kernel/people/linville/wireless-2.6/upstream-jgarzik/
> 
> Thanks!
> 
> John
> 
> ---
> 
> The following changes since commit e54cfa621f4cca9cca500019aa600c71d20f0592:
>   Jeff Garzik (1):
>         Merge branch 'upstream-jgarzik' of git://git.kernel.org/.../linville/wireless-2.6 into upstream
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git upstream-jgarzik
> 
> Andrew Morton (1):
>       libertas: printk warning fixes
> 
> Brajesh Dave (1):
>       libertas: advertise 11g ad-hoc rates
> 
> Dan Williams (4):
>       libertas: fix inadvertant removal of bits from commit 831441862956fffa17b9801db37e6ea1650b0f69
>       libertas: reorganize and simplify init sequence
>       libertas: don't stomp on interface-specific private data
>       libertas: send reset command directly instead of calling libertas_reset_device
> 
> Jesper Juhl (1):
>       net: Kill some unneeded allocation return value casts in libertas
> 
> Johannes Berg (1):
>       rtl8187: remove IEEE80211_HW_DATA_NULLFUNC_ACK
> 
> John W. Linville (1):
>       libertas: remove unused adhoc_rates_b definition
> 
> Marek Vašut (1):
>       libertas: region code values specified as 8bit
> 
> Pierre Ossman (1):
>       libertas: properly end commands on hardware failure
> 
>  drivers/net/wireless/libertas/cmd.c     |    2 +
>  drivers/net/wireless/libertas/cmdresp.c |    6 +-
>  drivers/net/wireless/libertas/debugfs.c |    2 +-
>  drivers/net/wireless/libertas/decl.h    |    3 +-
>  drivers/net/wireless/libertas/dev.h     |    4 -
>  drivers/net/wireless/libertas/ethtool.c |    3 +-
>  drivers/net/wireless/libertas/if_cs.c   |   58 +----
>  drivers/net/wireless/libertas/if_usb.c  |  371 +++++++++++++----------------
>  drivers/net/wireless/libertas/if_usb.h  |    4 +-
>  drivers/net/wireless/libertas/join.c    |    7 +-
>  drivers/net/wireless/libertas/main.c    |  408 +++++++++++++------------------
>  drivers/net/wireless/rtl8187_dev.c      |    3 +-
>  12 files changed, 354 insertions(+), 517 deletions(-)

pulled

^ permalink raw reply

* Re: pktgen terminating condition
From: jamal @ 2007-08-31 13:46 UTC (permalink / raw)
  To: David Miller
  Cc: Robert.Olsson, mandeep.baines, rick.jones2, msb, netdev, grundler,
	robert.olsson, venza
In-Reply-To: <20070830.221909.28790079.davem@davemloft.net>

On Thu, 2007-30-08 at 22:19 -0700, David Miller wrote:

> You could implement this quite simply using skb->destructor.

Thats what i was thinking ..

> It will add some atomics, so on weaker pktgen source systems
> it might decrease the generators rate.

Indeed. So maybe a config option instead; it has value afaics in the
batching case only. Need to experiment.

cheers,
jamal



^ permalink raw reply

* Re: [PATCH] bmac: add simple ethtool support for network manager
From: Jeff Garzik @ 2007-08-31 13:47 UTC (permalink / raw)
  To: Olaf Hering; +Cc: linuxppc-dev, netdev
In-Reply-To: <20070825183259.GA14478@aepfle.de>

Olaf Hering wrote:
> NetworkManager will not start dhcpd on an interface unless it reports
> link-up state via ethtool.
> 
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
> 
> ---
>  drivers/net/bmac.c |   13 +++++++++++++
>  1 file changed, 13 insertions(+)

applied



^ permalink raw reply

* Re: Re: pktgen terminating condition
From: jamal @ 2007-08-31 13:50 UTC (permalink / raw)
  To: Daniele Venzano
  Cc: Mandeep Baines, davem, rick.jones2, msb, netdev, grundler,
	robert.olsson, jeff, nhorman
In-Reply-To: <1188562644-ab74f9e250635783bce7d5179bcd17eb@brownhat.org>

On Fri, 2007-31-08 at 14:17 +0200, Daniele Venzano wrote:

> I don't regard the TxOK solution as something usable for mainline, but it has its 
> use for the users of pktgen.

I dont know if you followed the discussion - by defering the freeing of
skbs, you will be slowing down socket apps sending from the local
machine. It may be ok if the socket buffers were huge, but that comes at
the cost of system memory (which may not be a big deal)
Do you by any chance recall why you used the idle interupt instead of
txok to kick the prunning of tx descriptors?

cheers,
jamal


^ permalink raw reply

* Re: [PATCH] [01/10] pasemi_mac: Abstract out register access
From: Jeff Garzik @ 2007-08-31 13:50 UTC (permalink / raw)
  To: Olof Johansson; +Cc: netdev, linuxppc-dev
In-Reply-To: <20070822141244.GB16830@lixom.net>

applied



^ permalink raw reply

* Re: [PATCH v2] [02/10] pasemi_mac: Stop using the pci config space accessors for register read/writes
From: Jeff Garzik @ 2007-08-31 13:54 UTC (permalink / raw)
  To: Olof Johansson; +Cc: netdev, linuxppc-dev
In-Reply-To: <20070823181310.GB31882@lixom.net>

Olof Johansson wrote:
> Move away from using the pci config access functions for simple register
> access.  Our device has all of the registers in the config space (hey,
> from the hardware point of view it looks reasonable :-), so we need to
> somehow get to it. Newer firmwares have it in the device tree such that
> we can just get it and ioremap it there (in case it ever moves in future
> products). For now, provide a hardcoded fallback for older firmwares.
> 
> 
> Signed-off-by: Olof Johansson <olof@lixom.net>

applied 2-10



^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox