Re: [PATCH] net: via-velocity.c fix sleep-with-spinlock bug during MTU change
From: Séguier Régis <hidden>
Date: 2008-06-16 21:17:25
Séguier Régis a écrit :
Francois Romieu a écrit :quoted
Francois Romieu [off-list ref] : [...context available from http://lkml.org/lkml/2008/5/31/251 ...] Régis, I need your help. Can you give the patchkit below a try and check if the change of mtu works correctly ? http://userweb.kernel.org/~romieu/via-velocity/2.6.26-rc6/ or: git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6.git velocityWith the patchkit, the driver doesn't work anymore. I think there is an error in TX, paquets don't arrive to other equipment. RX seem to work fine, I could see ingoming paquets.
With this modifications of your patchkit (the 0001), TX works again.
--- via-velocity.c 2008-06-17 00:43:03.000000000 +0200
+++ drivers/net/via-velocity.c 2008-06-17 00:43:56.000000000 +0200@@ -2048,9 +2048,12 @@ static int velocity_xmit(struct sk_buff int pktlen = skb->len; __le16 len = cpu_to_le16(pktlen); - if (skb_padto(skb, ETH_ZLEN)) - goto out; - + if (pktlen < ETH_ZLEN) + { + if (skb_padto(skb, ETH_ZLEN)) + goto out; + len = cpu_to_le16(ETH_ZLEN); + } #ifdef VELOCITY_ZERO_COPY_SUPPORT if (skb_shinfo(skb)->nr_frags > 6 && __skb_linearize(skb)) { kfree_skb(skb);
Now, I'll try for mtu change -- Régis