diff options
Diffstat (limited to 'drivers/net/ewrk3.c')
| -rw-r--r-- | drivers/net/ewrk3.c | 14 | 
1 files changed, 5 insertions, 9 deletions
| diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c index 91e59f3a9d6d..380d0614a89a 100644 --- a/drivers/net/ewrk3.c +++ b/drivers/net/ewrk3.c @@ -757,7 +757,7 @@ static void ewrk3_timeout(struct net_device *dev)  		 */  		ENABLE_IRQs; -		dev->trans_start = jiffies; +		dev->trans_start = jiffies; /* prevent tx timeout */  		netif_wake_queue(dev);  	}  } @@ -862,7 +862,6 @@ static netdev_tx_t ewrk3_queue_pkt(struct sk_buff *skb, struct net_device *dev)  	spin_unlock_irq (&lp->hw_lock);  	dev->stats.tx_bytes += skb->len; -	dev->trans_start = jiffies;  	dev_kfree_skb (skb);  	/* Check for free resources: stop Tx queue if there are none */ @@ -1169,7 +1168,7 @@ static void set_multicast_list(struct net_device *dev)  static void SetMulticastFilter(struct net_device *dev)  {  	struct ewrk3_private *lp = netdev_priv(dev); -	struct dev_mc_list *dmi; +	struct netdev_hw_addr *ha;  	u_long iobase = dev->base_addr;  	int i;  	char *addrs, bit, byte; @@ -1213,8 +1212,8 @@ static void SetMulticastFilter(struct net_device *dev)  		}  		/* Update table */ -		netdev_for_each_mc_addr(dmi, dev) { -			addrs = dmi->dmi_addr; +		netdev_for_each_mc_addr(ha, dev) { +			addrs = ha->addr;  			if ((*addrs & 0x01) == 1) {	/* multicast address? */  				crc = ether_crc_le(ETH_ALEN, addrs);  				hashcode = crc & ((1 << 9) - 1);	/* hashcode is 9 LSb of CRC */ @@ -1370,8 +1369,6 @@ static void __init EthwrkSignature(char *name, char *eeprom_image)  		name[EWRK3_STRLEN] = '\0';  	} else  		name[0] = '\0'; - -	return;  }  /* @@ -1776,8 +1773,7 @@ static int ewrk3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)  		break;  	case EWRK3_SET_MCA:	/* Set a multicast address */  		if (capable(CAP_NET_ADMIN)) { -			if (ioc->len > 1024) -			{ +			if (ioc->len > HASH_TABLE_LEN) {  				status = -EINVAL;  				break;  			} | 
