[PATCH] via-velocity: don't oops on MTU change (resend)

From: Stephen Hemminger
Date: Thu Nov 29 2007 - 01:20:16 EST


via-velocity: don't oops on MTU change (resend)

mainline: 48f6b053613b62fed7a2fe3255e5568260a8d615

The VIA veloicty driver needs the following to allow changing MTU when down.
The buffer size needs to be computed when device is brought up, not when
device is initialized. This also fixes a bug where the buffer size was
computed differently on change_mtu versus initial setting.

Signed-off-by: Stephen Hemminger <shemminger@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>
Acked-by: Jeff Mahoney <jeffm@xxxxxxxx>
CC: Oliver Pinter <oliver.pntr@xxxxxxxxx>

diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 63a2f81..431269e 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -1075,6 +1075,9 @@ static int velocity_init_rd_ring(struct
velocity_info *vptr)
int ret = -ENOMEM;
unsigned int rsize = sizeof(struct velocity_rd_info) *
vptr->options.numrx;
+ int mtu = vptr->dev->mtu;
+
+ vptr->rx_buf_sz = (mtu <= ETH_DATA_LEN) ? PKT_BUF_SZ : mtu + 32;

vptr->rd_info = kmalloc(rsize, GFP_KERNEL);
if(vptr->rd_info == NULL)
@@ -1733,8 +1736,6 @@ static int velocity_open(struct net_device *dev)
struct velocity_info *vptr = netdev_priv(dev);
int ret;

- vptr->rx_buf_sz = (dev->mtu <= 1504 ? PKT_BUF_SZ : dev->mtu + 32);
-
ret = velocity_init_rings(vptr);
if (ret < 0)
goto out;
@@ -1813,12 +1814,6 @@ static int velocity_change_mtu(struct
net_device *dev, int new_mtu)
velocity_free_rd_ring(vptr);

dev->mtu = new_mtu;
- if (new_mtu > 8192)
- vptr->rx_buf_sz = 9 * 1024;
- else if (new_mtu > 4096)
- vptr->rx_buf_sz = 8192;
- else
- vptr->rx_buf_sz = 4 * 1024;

ret = velocity_init_rd_ring(vptr);
if (ret < 0)


--
Thanks,
Oliver

------=_Part_2166_29143688.1203267796108
Content-Type: application/x-bzip2; name=v2.6.22.19-queue.tar.bz2
Content-Transfer-Encoding: base64
X-Attachment-Id: file0
Content-Disposition: attachment; filename=v2.6.22.19-queue.tar.bz2

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

------=_Part_2166_29143688.1203267796108--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/