--- ./drivers/net/8139too.c.orig Thu Apr 29 13:58:32 2004 +++ ./drivers/net/8139too.c Thu Apr 29 13:59:58 2004 @@ -162,6 +162,7 @@ #define MAX_UNITS 8 static int media[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; +static int mtu[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; /* Maximum events (Rx packets, etc.) to handle at each interrupt. */ static int max_interrupt_work = 20; @@ -605,12 +606,14 @@ MODULE_PARM (max_interrupt_work, "i"); MODULE_PARM (media, "1-" __MODULE_STRING(MAX_UNITS) "i"); MODULE_PARM (full_duplex, "1-" __MODULE_STRING(MAX_UNITS) "i"); +MODULE_PARM (mtu, "1-" __MODULE_STRING(MAX_UNITS) "i"); MODULE_PARM (debug, "i"); MODULE_PARM_DESC (debug, "8139too bitmapped message enable number"); MODULE_PARM_DESC (multicast_filter_limit, "8139too maximum number of filtered multicast addresses"); MODULE_PARM_DESC (max_interrupt_work, "8139too maximum events handled per interrupt"); MODULE_PARM_DESC (media, "8139too: Bits 4+9: force full duplex, bit 5: 100Mbps"); MODULE_PARM_DESC (full_duplex, "8139too: Force full duplex for board(s) (1)"); +MODULE_PARM_DESC (mtu, "8139too: Change MTU for board(s) (def=1500)"); static int read_eeprom (void *ioaddr, int location, int addr_len); static int rtl8139_open (struct net_device *dev); @@ -995,6 +998,8 @@ dev->irq = pdev->irq; dev->change_mtu = rtl8139_change_mtu; + if (board_idx < MAX_UNITS && mtu[board_idx] > 0) + dev->mtu = mtu[board_idx]; /* dev->priv/tp zeroed and aligned in alloc_etherdev */ tp = dev->priv;