aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-02-04 16:52:41 -0800
committerDavid S. Miller <davem@davemloft.net>2009-02-04 16:52:41 -0800
commit7870389478d3c682c79c07abe7f1fce8b8a81952 (patch)
tree8dc50c5aa48c65c7eb5cc2770501a45f1e2371f6
parentMerge branch 'master' of /home/davem/src/GIT/linux-2.6/ (diff)
parentgianfar: Fix potential soft reset race (diff)
downloadlinux-dev-7870389478d3c682c79c07abe7f1fce8b8a81952.tar.xz
linux-dev-7870389478d3c682c79c07abe7f1fce8b8a81952.zip
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
-rw-r--r--drivers/net/cxgb3/sge.c3
-rw-r--r--drivers/net/gianfar.c3
-rw-r--r--drivers/net/gianfar.h2
3 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index 272a0168f3e9..8205aa4ae945 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -2201,8 +2201,7 @@ no_mem:
} else if ((len = ntohl(r->len_cq)) != 0) {
struct sge_fl *fl;
- if (eth)
- lro = qs->lro_enabled && is_eth_tcp(rss_hi);
+ lro &= eth && is_eth_tcp(rss_hi);
fl = (len & F_RSPD_FLQ) ? &qs->fl[1] : &qs->fl[0];
if (fl->use_pages) {
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index dadd08cd801b..802a9516ce41 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -372,6 +372,9 @@ static int gfar_probe(struct of_device *ofdev,
/* Reset MAC layer */
gfar_write(&priv->regs->maccfg1, MACCFG1_SOFT_RESET);
+ /* We need to delay at least 3 TX clocks */
+ udelay(2);
+
tempval = (MACCFG1_TX_FLOW | MACCFG1_RX_FLOW);
gfar_write(&priv->regs->maccfg1, tempval);
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index 811855bc4231..54332b0059df 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -314,7 +314,7 @@ extern const char gfar_driver_version[];
#define ATTRELI_EI(x) (x)
#define BD_LFLAG(flags) ((flags) << 16)
-#define BD_LENGTH_MASK 0x00ff
+#define BD_LENGTH_MASK 0x0000ffff
/* TxBD status field bits */
#define TXBD_READY 0x8000