aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-11 10:46:53 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-11 10:46:53 -0400
commite4cb04074c5f5593f98ba2a89a011034f57604e4 (patch)
treebea628194dd7d7481338b954b592ca56477e4429 /drivers
parentcabe456902e709095ebf1481342ea89910887d60 (diff)
parent0a9c73014415d2a84dac346c1e12169142a6ad37 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [INET_DIAG]: Fix oops in netlink_rcv_skb [IPv6]: Fix NULL pointer dereference in ip6_flush_pending_frames [NETFILTER]: Fix/improve deadlock condition on module removal netfilter [NETFILTER]: nf_conntrack_ipv4: fix "Frag of proto ..." messages [NET] DOC: Update networking/multiqueue.txt with correct information. [IPV6]: Freeing alive inet6 address [DECNET]: Fix interface address listing regression. [IPV4] devinet: show all addresses assigned to interface [NET]: Do not dereference iov if length is zero [TG3]: Workaround MSI bug on 5714/5780. [Bluetooth] Fix parameter list for event filter command [Bluetooth] Update security filter for Bluetooth 2.1 [Bluetooth] Add compat handling for timestamp structure [Bluetooth] Add missing stat.byte_rx counter modification
Diffstat (limited to 'drivers')
-rw-r--r--drivers/bluetooth/hci_usb.c5
-rw-r--r--drivers/net/tg3.c13
2 files changed, 15 insertions, 3 deletions
diff --git a/drivers/bluetooth/hci_usb.c b/drivers/bluetooth/hci_usb.c
index 59b054810ed0..98a9cdeaffb6 100644
--- a/drivers/bluetooth/hci_usb.c
+++ b/drivers/bluetooth/hci_usb.c
@@ -691,15 +691,18 @@ static void hci_usb_rx_complete(struct urb *urb)
691 urb->iso_frame_desc[i].offset, 691 urb->iso_frame_desc[i].offset,
692 urb->iso_frame_desc[i].actual_length); 692 urb->iso_frame_desc[i].actual_length);
693 693
694 if (!urb->iso_frame_desc[i].status) 694 if (!urb->iso_frame_desc[i].status) {
695 husb->hdev->stat.byte_rx += urb->iso_frame_desc[i].actual_length;
695 hci_recv_fragment(husb->hdev, _urb->type, 696 hci_recv_fragment(husb->hdev, _urb->type,
696 urb->transfer_buffer + urb->iso_frame_desc[i].offset, 697 urb->transfer_buffer + urb->iso_frame_desc[i].offset,
697 urb->iso_frame_desc[i].actual_length); 698 urb->iso_frame_desc[i].actual_length);
699 }
698 } 700 }
699#else 701#else
700 ; 702 ;
701#endif 703#endif
702 } else { 704 } else {
705 husb->hdev->stat.byte_rx += count;
703 err = hci_recv_fragment(husb->hdev, _urb->type, urb->transfer_buffer, count); 706 err = hci_recv_fragment(husb->hdev, _urb->type, urb->transfer_buffer, count);
704 if (err < 0) { 707 if (err < 0) {
705 BT_ERR("%s corrupted packet: type %d count %d", 708 BT_ERR("%s corrupted packet: type %d count %d",
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 58740428dd07..9034a05734ef 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -64,8 +64,8 @@
64 64
65#define DRV_MODULE_NAME "tg3" 65#define DRV_MODULE_NAME "tg3"
66#define PFX DRV_MODULE_NAME ": " 66#define PFX DRV_MODULE_NAME ": "
67#define DRV_MODULE_VERSION "3.80" 67#define DRV_MODULE_VERSION "3.81"
68#define DRV_MODULE_RELDATE "August 2, 2007" 68#define DRV_MODULE_RELDATE "September 5, 2007"
69 69
70#define TG3_DEF_MAC_MODE 0 70#define TG3_DEF_MAC_MODE 0
71#define TG3_DEF_RX_MODE 0 71#define TG3_DEF_RX_MODE 0
@@ -7127,6 +7127,10 @@ static int tg3_open(struct net_device *dev)
7127 } else if (pci_enable_msi(tp->pdev) == 0) { 7127 } else if (pci_enable_msi(tp->pdev) == 0) {
7128 u32 msi_mode; 7128 u32 msi_mode;
7129 7129
7130 /* Hardware bug - MSI won't work if INTX disabled. */
7131 if (tp->tg3_flags2 & TG3_FLG2_5780_CLASS)
7132 pci_intx(tp->pdev, 1);
7133
7130 msi_mode = tr32(MSGINT_MODE); 7134 msi_mode = tr32(MSGINT_MODE);
7131 tw32(MSGINT_MODE, msi_mode | MSGINT_MODE_ENABLE); 7135 tw32(MSGINT_MODE, msi_mode | MSGINT_MODE_ENABLE);
7132 tp->tg3_flags2 |= TG3_FLG2_USING_MSI; 7136 tp->tg3_flags2 |= TG3_FLG2_USING_MSI;
@@ -12172,6 +12176,11 @@ static int tg3_resume(struct pci_dev *pdev)
12172 if (err) 12176 if (err)
12173 return err; 12177 return err;
12174 12178
12179 /* Hardware bug - MSI won't work if INTX disabled. */
12180 if ((tp->tg3_flags2 & TG3_FLG2_5780_CLASS) &&
12181 (tp->tg3_flags2 & TG3_FLG2_USING_MSI))
12182 pci_intx(tp->pdev, 1);
12183
12175 netif_device_attach(dev); 12184 netif_device_attach(dev);
12176 12185
12177 tg3_full_lock(tp, 0); 12186 tg3_full_lock(tp, 0);