diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-14 23:23:54 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-14 23:23:54 -0400 |
commit | 2aec609fb45e84d65bc8eabc7b650bbecb1cc179 (patch) | |
tree | eb3e8a79604113392d0ee74b19dbc1dfce579c11 /drivers | |
parent | 4c8894980010536915c4f5513ee180e3614aeca9 (diff) | |
parent | 9076689ab07974a6f5d230fc241448f7a77e9078 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
net/netfilter/nf_conntrack_proto_tcp.c
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/arm/ixp4xx_eth.c | 3 | ||||
-rw-r--r-- | drivers/net/tun.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/scan.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2400pci.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500pci.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500usb.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt61pci.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt73usb.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.c | 1 |
9 files changed, 57 insertions, 4 deletions
diff --git a/drivers/net/arm/ixp4xx_eth.c b/drivers/net/arm/ixp4xx_eth.c index c617b64c288e..9b777d9433cd 100644 --- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c | |||
@@ -522,7 +522,6 @@ static int eth_poll(struct napi_struct *napi, int budget) | |||
522 | #endif | 522 | #endif |
523 | 523 | ||
524 | if ((n = queue_get_desc(rxq, port, 0)) < 0) { | 524 | if ((n = queue_get_desc(rxq, port, 0)) < 0) { |
525 | received = 0; /* No packet received */ | ||
526 | #if DEBUG_RX | 525 | #if DEBUG_RX |
527 | printk(KERN_DEBUG "%s: eth_poll netif_rx_complete\n", | 526 | printk(KERN_DEBUG "%s: eth_poll netif_rx_complete\n", |
528 | dev->name); | 527 | dev->name); |
@@ -543,7 +542,7 @@ static int eth_poll(struct napi_struct *napi, int budget) | |||
543 | printk(KERN_DEBUG "%s: eth_poll all done\n", | 542 | printk(KERN_DEBUG "%s: eth_poll all done\n", |
544 | dev->name); | 543 | dev->name); |
545 | #endif | 544 | #endif |
546 | return 0; /* all work done */ | 545 | return received; /* all work done */ |
547 | } | 546 | } |
548 | 547 | ||
549 | desc = rx_desc_ptr(port, n); | 548 | desc = rx_desc_ptr(port, n); |
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index aa4ee4439f04..2693f883ecda 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -690,6 +690,12 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) | |||
690 | tun->attached = 1; | 690 | tun->attached = 1; |
691 | get_net(dev_net(tun->dev)); | 691 | get_net(dev_net(tun->dev)); |
692 | 692 | ||
693 | /* Make sure persistent devices do not get stuck in | ||
694 | * xoff state. | ||
695 | */ | ||
696 | if (netif_running(tun->dev)) | ||
697 | netif_wake_queue(tun->dev); | ||
698 | |||
693 | strcpy(ifr->ifr_name, tun->dev->name); | 699 | strcpy(ifr->ifr_name, tun->dev->name); |
694 | return 0; | 700 | return 0; |
695 | 701 | ||
diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c index 343ed38f772d..4b274562f965 100644 --- a/drivers/net/wireless/libertas/scan.c +++ b/drivers/net/wireless/libertas/scan.c | |||
@@ -567,11 +567,11 @@ static int lbs_process_bss(struct bss_descriptor *bss, | |||
567 | pos += 8; | 567 | pos += 8; |
568 | 568 | ||
569 | /* beacon interval is 2 bytes long */ | 569 | /* beacon interval is 2 bytes long */ |
570 | bss->beaconperiod = le16_to_cpup((void *) pos); | 570 | bss->beaconperiod = get_unaligned_le16(pos); |
571 | pos += 2; | 571 | pos += 2; |
572 | 572 | ||
573 | /* capability information is 2 bytes long */ | 573 | /* capability information is 2 bytes long */ |
574 | bss->capability = le16_to_cpup((void *) pos); | 574 | bss->capability = get_unaligned_le16(pos); |
575 | lbs_deb_scan("process_bss: capabilities 0x%04x\n", bss->capability); | 575 | lbs_deb_scan("process_bss: capabilities 0x%04x\n", bss->capability); |
576 | pos += 2; | 576 | pos += 2; |
577 | 577 | ||
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c index ee953ca0c6a3..91cbd9e560bd 100644 --- a/drivers/net/wireless/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/rt2x00/rt2400pci.c | |||
@@ -733,6 +733,17 @@ static int rt2400pci_init_registers(struct rt2x00_dev *rt2x00dev) | |||
733 | (rt2x00dev->rx->data_size / 128)); | 733 | (rt2x00dev->rx->data_size / 128)); |
734 | rt2x00pci_register_write(rt2x00dev, CSR9, reg); | 734 | rt2x00pci_register_write(rt2x00dev, CSR9, reg); |
735 | 735 | ||
736 | rt2x00pci_register_read(rt2x00dev, CSR14, ®); | ||
737 | rt2x00_set_field32(®, CSR14_TSF_COUNT, 0); | ||
738 | rt2x00_set_field32(®, CSR14_TSF_SYNC, 0); | ||
739 | rt2x00_set_field32(®, CSR14_TBCN, 0); | ||
740 | rt2x00_set_field32(®, CSR14_TCFP, 0); | ||
741 | rt2x00_set_field32(®, CSR14_TATIMW, 0); | ||
742 | rt2x00_set_field32(®, CSR14_BEACON_GEN, 0); | ||
743 | rt2x00_set_field32(®, CSR14_CFP_COUNT_PRELOAD, 0); | ||
744 | rt2x00_set_field32(®, CSR14_TBCM_PRELOAD, 0); | ||
745 | rt2x00pci_register_write(rt2x00dev, CSR14, reg); | ||
746 | |||
736 | rt2x00pci_register_write(rt2x00dev, CNT3, 0x3f080000); | 747 | rt2x00pci_register_write(rt2x00dev, CNT3, 0x3f080000); |
737 | 748 | ||
738 | rt2x00pci_register_read(rt2x00dev, ARCSR0, ®); | 749 | rt2x00pci_register_read(rt2x00dev, ARCSR0, ®); |
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c index 0423c251c78e..0f2a0e22fd71 100644 --- a/drivers/net/wireless/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/rt2x00/rt2500pci.c | |||
@@ -831,6 +831,17 @@ static int rt2500pci_init_registers(struct rt2x00_dev *rt2x00dev) | |||
831 | rt2x00_set_field32(®, CSR11_CW_SELECT, 0); | 831 | rt2x00_set_field32(®, CSR11_CW_SELECT, 0); |
832 | rt2x00pci_register_write(rt2x00dev, CSR11, reg); | 832 | rt2x00pci_register_write(rt2x00dev, CSR11, reg); |
833 | 833 | ||
834 | rt2x00pci_register_read(rt2x00dev, CSR14, ®); | ||
835 | rt2x00_set_field32(®, CSR14_TSF_COUNT, 0); | ||
836 | rt2x00_set_field32(®, CSR14_TSF_SYNC, 0); | ||
837 | rt2x00_set_field32(®, CSR14_TBCN, 0); | ||
838 | rt2x00_set_field32(®, CSR14_TCFP, 0); | ||
839 | rt2x00_set_field32(®, CSR14_TATIMW, 0); | ||
840 | rt2x00_set_field32(®, CSR14_BEACON_GEN, 0); | ||
841 | rt2x00_set_field32(®, CSR14_CFP_COUNT_PRELOAD, 0); | ||
842 | rt2x00_set_field32(®, CSR14_TBCM_PRELOAD, 0); | ||
843 | rt2x00pci_register_write(rt2x00dev, CSR14, reg); | ||
844 | |||
834 | rt2x00pci_register_write(rt2x00dev, CNT3, 0); | 845 | rt2x00pci_register_write(rt2x00dev, CNT3, 0); |
835 | 846 | ||
836 | rt2x00pci_register_read(rt2x00dev, TXCSR8, ®); | 847 | rt2x00pci_register_read(rt2x00dev, TXCSR8, ®); |
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c index 0dd1cb537b92..367db10b96d9 100644 --- a/drivers/net/wireless/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/rt2x00/rt2500usb.c | |||
@@ -812,6 +812,13 @@ static int rt2500usb_init_registers(struct rt2x00_dev *rt2x00dev) | |||
812 | rt2x00_set_field16(®, TXRX_CSR8_BBP_ID1_VALID, 0); | 812 | rt2x00_set_field16(®, TXRX_CSR8_BBP_ID1_VALID, 0); |
813 | rt2500usb_register_write(rt2x00dev, TXRX_CSR8, reg); | 813 | rt2500usb_register_write(rt2x00dev, TXRX_CSR8, reg); |
814 | 814 | ||
815 | rt2500usb_register_read(rt2x00dev, TXRX_CSR19, ®); | ||
816 | rt2x00_set_field16(®, TXRX_CSR19_TSF_COUNT, 0); | ||
817 | rt2x00_set_field16(®, TXRX_CSR19_TSF_SYNC, 0); | ||
818 | rt2x00_set_field16(®, TXRX_CSR19_TBCN, 0); | ||
819 | rt2x00_set_field16(®, TXRX_CSR19_BEACON_GEN, 0); | ||
820 | rt2500usb_register_write(rt2x00dev, TXRX_CSR19, reg); | ||
821 | |||
815 | rt2500usb_register_write(rt2x00dev, TXRX_CSR21, 0xe78f); | 822 | rt2500usb_register_write(rt2x00dev, TXRX_CSR21, 0xe78f); |
816 | rt2500usb_register_write(rt2x00dev, MAC_CSR9, 0xff1d); | 823 | rt2500usb_register_write(rt2x00dev, MAC_CSR9, 0xff1d); |
817 | 824 | ||
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c index bbf1048f6400..5a1330c5de71 100644 --- a/drivers/net/wireless/rt2x00/rt61pci.c +++ b/drivers/net/wireless/rt2x00/rt61pci.c | |||
@@ -1198,6 +1198,15 @@ static int rt61pci_init_registers(struct rt2x00_dev *rt2x00dev) | |||
1198 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); | 1198 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); |
1199 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR8, reg); | 1199 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR8, reg); |
1200 | 1200 | ||
1201 | rt2x00pci_register_read(rt2x00dev, TXRX_CSR9, ®); | ||
1202 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_INTERVAL, 0); | ||
1203 | rt2x00_set_field32(®, TXRX_CSR9_TSF_TICKING, 0); | ||
1204 | rt2x00_set_field32(®, TXRX_CSR9_TSF_SYNC, 0); | ||
1205 | rt2x00_set_field32(®, TXRX_CSR9_TBTT_ENABLE, 0); | ||
1206 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_GEN, 0); | ||
1207 | rt2x00_set_field32(®, TXRX_CSR9_TIMESTAMP_COMPENSATE, 0); | ||
1208 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR9, reg); | ||
1209 | |||
1201 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); | 1210 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); |
1202 | 1211 | ||
1203 | rt2x00pci_register_write(rt2x00dev, MAC_CSR6, 0x00000fff); | 1212 | rt2x00pci_register_write(rt2x00dev, MAC_CSR6, 0x00000fff); |
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index 3ef318e098e7..25d8b660051f 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -1016,6 +1016,15 @@ static int rt73usb_init_registers(struct rt2x00_dev *rt2x00dev) | |||
1016 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); | 1016 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); |
1017 | rt73usb_register_write(rt2x00dev, TXRX_CSR8, reg); | 1017 | rt73usb_register_write(rt2x00dev, TXRX_CSR8, reg); |
1018 | 1018 | ||
1019 | rt73usb_register_read(rt2x00dev, TXRX_CSR9, ®); | ||
1020 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_INTERVAL, 0); | ||
1021 | rt2x00_set_field32(®, TXRX_CSR9_TSF_TICKING, 0); | ||
1022 | rt2x00_set_field32(®, TXRX_CSR9_TSF_SYNC, 0); | ||
1023 | rt2x00_set_field32(®, TXRX_CSR9_TBTT_ENABLE, 0); | ||
1024 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_GEN, 0); | ||
1025 | rt2x00_set_field32(®, TXRX_CSR9_TIMESTAMP_COMPENSATE, 0); | ||
1026 | rt73usb_register_write(rt2x00dev, TXRX_CSR9, reg); | ||
1027 | |||
1019 | rt73usb_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); | 1028 | rt73usb_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); |
1020 | 1029 | ||
1021 | rt73usb_register_read(rt2x00dev, MAC_CSR6, ®); | 1030 | rt73usb_register_read(rt2x00dev, MAC_CSR6, ®); |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 665f76af2fec..feaf43d17249 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -707,6 +707,7 @@ static void zd_op_remove_interface(struct ieee80211_hw *hw, | |||
707 | { | 707 | { |
708 | struct zd_mac *mac = zd_hw_mac(hw); | 708 | struct zd_mac *mac = zd_hw_mac(hw); |
709 | mac->type = IEEE80211_IF_TYPE_INVALID; | 709 | mac->type = IEEE80211_IF_TYPE_INVALID; |
710 | zd_set_beacon_interval(&mac->chip, 0); | ||
710 | zd_write_mac_addr(&mac->chip, NULL); | 711 | zd_write_mac_addr(&mac->chip, NULL); |
711 | } | 712 | } |
712 | 713 | ||