summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-05 00:26:49 +0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-05 00:26:49 +0400
commit45efebf2492187e8915e2876c5bf6f3803b1c23f (patch)
treefef7ca620be5a61a243e7781bf50cb829972e4ca /drivers
parent4acbab84688bfea82322c14e809fc7d82242cee3 (diff)
parent6e1d91039becc9d5bcd046d8c709dbaf471220e3 (diff)
downloadlinux-45efebf2492187e8915e2876c5bf6f3803b1c23f.tar.xz
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: [ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl [IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP [NET] gso: Fix GSO feature mask in sk_setup_caps [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules) [NET]: Fix comparisons of unsigned < 0. [NET]: Make net watchdog timers 1 sec jiffy aligned. [ATM]: Fix warning. [TCP]: Use default 32768-61000 outgoing port range in all cases. [AF_UNIX]: Fix datagram connect race causing an OOPS. [TG3]: Fix link problem on Dell's onboard 5906. [AF_UNIX]: Make socket locking much less confusing.
Diffstat (limited to 'drivers')
-rw-r--r--drivers/atm/firestream.c15
-rw-r--r--drivers/net/tg3.c5
2 files changed, 14 insertions, 6 deletions
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
index 9c67df5ccfa4..7f6d02ce1b5f 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -1475,6 +1475,7 @@ static void top_off_fp (struct fs_dev *dev, struct freepool *fp,
struct FS_BPENTRY *qe, *ne;
struct sk_buff *skb;
int n = 0;
+ u32 qe_tmp;
fs_dprintk (FS_DEBUG_QUEUE, "Topping off queue at %x (%d-%d/%d)\n",
fp->offset, read_fs (dev, FP_CNT (fp->offset)), fp->n,
@@ -1502,10 +1503,16 @@ static void top_off_fp (struct fs_dev *dev, struct freepool *fp,
ne->skb = skb;
ne->fp = fp;
- qe = (struct FS_BPENTRY *) (read_fs (dev, FP_EA(fp->offset)));
- fs_dprintk (FS_DEBUG_QUEUE, "link at %p\n", qe);
- if (qe) {
- qe = bus_to_virt ((long) qe);
+ /*
+ * FIXME: following code encodes and decodes
+ * machine pointers (could be 64-bit) into a
+ * 32-bit register.
+ */
+
+ qe_tmp = read_fs (dev, FP_EA(fp->offset));
+ fs_dprintk (FS_DEBUG_QUEUE, "link at %x\n", qe_tmp);
+ if (qe_tmp) {
+ qe = bus_to_virt ((long) qe_tmp);
qe->next = virt_to_bus(ne);
qe->flags &= ~FP_FLAGS_EPI;
} else
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 023779a581fd..2f3184184ad9 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -64,8 +64,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
-#define DRV_MODULE_VERSION "3.76"
-#define DRV_MODULE_RELDATE "May 5, 2007"
+#define DRV_MODULE_VERSION "3.77"
+#define DRV_MODULE_RELDATE "May 31, 2007"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
@@ -10961,6 +10961,7 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
* upon subsystem IDs.
*/
if (tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
+ GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701 &&
!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) {
tp->tg3_flags |= (TG3_FLAG_USE_MI_INTERRUPT |
TG3_FLAG_USE_LINKCHG_REG);