Commit e9022ee6 authored by Jeff Garzik's avatar Jeff Garzik

Merge branch 'upstream-fixes'

parents 5f4f9dc1 be0df20c
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
#define DRV_MODULE_NAME "b44" #define DRV_MODULE_NAME "b44"
#define PFX DRV_MODULE_NAME ": " #define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "0.96" #define DRV_MODULE_VERSION "0.97"
#define DRV_MODULE_RELDATE "Nov 8, 2005" #define DRV_MODULE_RELDATE "Nov 30, 2005"
#define B44_DEF_MSG_ENABLE \ #define B44_DEF_MSG_ENABLE \
(NETIF_MSG_DRV | \ (NETIF_MSG_DRV | \
...@@ -1417,6 +1417,7 @@ static int b44_open(struct net_device *dev) ...@@ -1417,6 +1417,7 @@ static int b44_open(struct net_device *dev)
add_timer(&bp->timer); add_timer(&bp->timer);
b44_enable_ints(bp); b44_enable_ints(bp);
netif_start_queue(dev);
out: out:
return err; return err;
} }
...@@ -1837,12 +1838,15 @@ static int b44_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) ...@@ -1837,12 +1838,15 @@ static int b44_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{ {
struct mii_ioctl_data *data = if_mii(ifr); struct mii_ioctl_data *data = if_mii(ifr);
struct b44 *bp = netdev_priv(dev); struct b44 *bp = netdev_priv(dev);
int err; int err = -EINVAL;
if (!netif_running(dev))
goto out;
spin_lock_irq(&bp->lock); spin_lock_irq(&bp->lock);
err = generic_mii_ioctl(&bp->mii_if, data, cmd, NULL); err = generic_mii_ioctl(&bp->mii_if, data, cmd, NULL);
spin_unlock_irq(&bp->lock); spin_unlock_irq(&bp->lock);
out:
return err; return err;
} }
...@@ -2113,6 +2117,7 @@ static int b44_resume(struct pci_dev *pdev) ...@@ -2113,6 +2117,7 @@ static int b44_resume(struct pci_dev *pdev)
add_timer(&bp->timer); add_timer(&bp->timer);
b44_enable_ints(bp); b44_enable_ints(bp);
netif_wake_queue(dev);
return 0; return 0;
} }
......
...@@ -2621,19 +2621,7 @@ e1000_transfer_dhcp_info(struct e1000_adapter *adapter, struct sk_buff *skb) ...@@ -2621,19 +2621,7 @@ e1000_transfer_dhcp_info(struct e1000_adapter *adapter, struct sk_buff *skb)
E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT)) ) E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT)) )
return 0; return 0;
} }
if(htons(ETH_P_IP) == skb->protocol) { if ((skb->len > MINIMUM_DHCP_PACKET_SIZE) && (!skb->protocol)) {
const struct iphdr *ip = skb->nh.iph;
if(IPPROTO_UDP == ip->protocol) {
struct udphdr *udp = (struct udphdr *)(skb->h.uh);
if(ntohs(udp->dest) == 67) {
offset = (uint8_t *)udp + 8 - skb->data;
length = skb->len - offset;
return e1000_mng_write_dhcp_info(hw,
(uint8_t *)udp + 8, length);
}
}
} else if((skb->len > MINIMUM_DHCP_PACKET_SIZE) && (!skb->protocol)) {
struct ethhdr *eth = (struct ethhdr *) skb->data; struct ethhdr *eth = (struct ethhdr *) skb->data;
if((htons(ETH_P_IP) == eth->h_proto)) { if((htons(ETH_P_IP) == eth->h_proto)) {
const struct iphdr *ip = const struct iphdr *ip =
......
...@@ -27,8 +27,7 @@ sk98lin-objs := \ ...@@ -27,8 +27,7 @@ sk98lin-objs := \
sktimer.o \ sktimer.o \
skvpd.o \ skvpd.o \
skxmac2.o \ skxmac2.o \
skproc.o \ skproc.o
skcsum.o
# DBGDEF = \ # DBGDEF = \
# -DDEBUG # -DDEBUG
...@@ -77,7 +76,7 @@ endif ...@@ -77,7 +76,7 @@ endif
# SK_DBGCAT_DRV_INT_SRC 0x04000000 interrupts sources # SK_DBGCAT_DRV_INT_SRC 0x04000000 interrupts sources
# SK_DBGCAT_DRV_EVENT 0x08000000 driver events # SK_DBGCAT_DRV_EVENT 0x08000000 driver events
EXTRA_CFLAGS += -Idrivers/net/sk98lin -DSK_DIAG_SUPPORT -DSK_USE_CSUM -DGENESIS -DYUKON $(DBGDEF) $(SKPARAM) EXTRA_CFLAGS += -Idrivers/net/sk98lin -DSK_DIAG_SUPPORT -DGENESIS -DYUKON $(DBGDEF) $(SKPARAM)
clean: clean:
rm -f core *.o *.a *.s rm -f core *.o *.a *.s
......
...@@ -424,10 +424,6 @@ struct s_AC { ...@@ -424,10 +424,6 @@ struct s_AC {
TX_PORT TxPort[SK_MAX_MACS][2]; TX_PORT TxPort[SK_MAX_MACS][2];
RX_PORT RxPort[SK_MAX_MACS]; RX_PORT RxPort[SK_MAX_MACS];
unsigned int CsOfs1; /* for checksum calculation */
unsigned int CsOfs2; /* for checksum calculation */
SK_U32 CsOfs; /* for checksum calculation */
SK_BOOL CheckQueue; /* check event queue soon */ SK_BOOL CheckQueue; /* check event queue soon */
SK_TIMER DrvCleanupTimer;/* to check for pending descriptors */ SK_TIMER DrvCleanupTimer;/* to check for pending descriptors */
DIM_INFO DynIrqModInfo; /* all data related to DIM */ DIM_INFO DynIrqModInfo; /* all data related to DIM */
......
This diff is collapsed.
...@@ -549,4 +549,6 @@ struct ethtool_ops SkGeEthtoolOps = { ...@@ -549,4 +549,6 @@ struct ethtool_ops SkGeEthtoolOps = {
.phys_id = locateDevice, .phys_id = locateDevice,
.get_pauseparam = getPauseParams, .get_pauseparam = getPauseParams,
.set_pauseparam = setPauseParams, .set_pauseparam = setPauseParams,
.get_link = ethtool_op_get_link,
.get_perm_addr = ethtool_op_get_perm_addr,
}; };
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment