* Re: [PATCH] drivers/net: correct valid flag
From: Julia Lawall @ 2010-07-06 5:07 UTC (permalink / raw)
To: David Miller; +Cc: netdev, linux-kernel, kernel-janitors
In-Reply-To: <20100705.180349.112607097.davem@davemloft.net>
On Mon, 5 Jul 2010, David Miller wrote:
> From: Julia Lawall <julia@diku.dk>
> Date: Mon, 5 Jul 2010 17:07:15 +0200 (CEST)
>
> > From: Julia Lawall <julia@diku.dk>
> >
> > Elsewhere in the "optimized" functions, the "2" constants are used.
> > NV_TX_VALID and NV_TX2_VALID have the same value.
> >
> > Signed-off-by: Julia Lawall <julia@diku.dk>
> >
> > ---
> > diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
> > index 268ea4d..870c18b 100644
> > --- a/drivers/net/forcedeth.c
> > +++ b/drivers/net/forcedeth.c
> > @@ -2468,7 +2468,8 @@ static int nv_tx_done_optimized(struct net_device *dev, int limit)
> > struct ring_desc_ex* orig_get_tx = np->get_tx.ex;
> >
> > while ((np->get_tx.ex != np->put_tx.ex) &&
> > - !((flags = le32_to_cpu(np->get_tx.ex->flaglen)) & NV_TX_VALID) &&
> > + !((flags = le32_to_cpu(np->get_tx.ex->flaglen)) & NV_TX2_VALID)
> > + &&
> > (tx_work < limit)) {
>
> Please don't put that "&&" on a line by itself. I don't care if leaving it
> on the previous line makes it exceed 80 columns, what you're doing here is
> infinitely less pleasant to read.
OK, I'll put it back.
julia
^ permalink raw reply
* Re: [PATCH] drivers/net: correct valid flag
From: Julia Lawall @ 2010-07-06 5:11 UTC (permalink / raw)
To: David Miller; +Cc: netdev, linux-kernel, kernel-janitors
In-Reply-To: <20100705.180349.112607097.davem@davemloft.net>
From: Julia Lawall <julia@diku.dk>
Elsewhere in the "optimized" functions, the "2" constants are used.
NV_TX_VALID and NV_TX2_VALID have the same value.
Signed-off-by: Julia Lawall <julia@diku.dk>
---
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 268ea4d..9ef6a9d 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -2468,7 +2468,7 @@ static int nv_tx_done_optimized(struct net_device *dev, int limit)
struct ring_desc_ex* orig_get_tx = np->get_tx.ex;
while ((np->get_tx.ex != np->put_tx.ex) &&
- !((flags = le32_to_cpu(np->get_tx.ex->flaglen)) & NV_TX_VALID) &&
+ !((flags = le32_to_cpu(np->get_tx.ex->flaglen)) & NV_TX2_VALID) &&
(tx_work < limit)) {
dprintk(KERN_DEBUG "%s: nv_tx_done_optimized: flags 0x%x.\n",
^ permalink raw reply related
* Re: [PATCH] drivers/net: correct valid flag
From: David Miller @ 2010-07-06 5:16 UTC (permalink / raw)
To: julia; +Cc: netdev, linux-kernel, kernel-janitors
In-Reply-To: <Pine.LNX.4.64.1007060711320.30668@ask.diku.dk>
From: Julia Lawall <julia@diku.dk>
Date: Tue, 6 Jul 2010 07:11:45 +0200 (CEST)
> From: Julia Lawall <julia@diku.dk>
>
> Elsewhere in the "optimized" functions, the "2" constants are used.
> NV_TX_VALID and NV_TX2_VALID have the same value.
>
> Signed-off-by: Julia Lawall <julia@diku.dk>
Since the two values are identical this doesn't fix a bug, so I've
applied this to net-next-2.6
Thanks!
^ permalink raw reply
* RE: [PATCH] bnx2x: add support for receive hashing
From: Vladislav Zolotarov @ 2010-07-06 7:16 UTC (permalink / raw)
To: Tom Herbert; +Cc: netdev@vger.kernel.org
In-Reply-To: <8628FE4E7912BF47A96AE7DD7BAC0AADDDE646FBFB@SJEXCHCCR02.corp.ad.broadcom.com>
Let me rephrase: the part of your patch below enables RSS flow in our FW even if there is only one HW queue and I wonder why?
To refresh:
1) FW won't provide Toeplitz hash on CQE if RSS is not enabled.
2) There can be one HW queue in only 2 cases:
- There is only one CPU in the system. In that case I wonder if u have anything to do with Toeplitz hash on the skb at all.
- User has explicitly requested 1 HW queue with module parameter (num_queues=1). In that case if u r going to use the RSS hash on the skb means that u r actually going to do SW RSS instead of HW RSS, which sounds strange to me.
So, Herbert, could u, pls., explain, what was your original idea about these code lines?
Thanks,
vlad
> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On
> Behalf Of Vladislav Zolotarov
> Sent: Sunday, July 04, 2010 7:36 PM
> To: Tom Herbert
> Cc: netdev@vger.kernel.org
> Subject: RE: [PATCH] bnx2x: add support for receive hashing
>
> Tom, could u, pls., explain what did u mean by taking the (RSS) flags
> configuration out of RSS "if"? To recall "if(is_multi(bp))" is true iff RSS
> is enabled.
>
> Thanks,
> vlad
>
> > @@ -5750,10 +5757,10 @@ static void bnx2x_init_internal_func(struct bnx2x
> > *bp)
> > u32 offset;
> > u16 max_agg_size;
> >
> > - if (is_multi(bp)) {
> > - tstorm_config.config_flags = MULTI_FLAGS(bp);
> > + tstorm_config.config_flags = RSS_FLAGS(bp);
> > +
> > + if (is_multi(bp))
> > tstorm_config.rss_result_mask = MULTI_MASK;
> > - }
> >
> > /* Enable TPA if needed */
> > if (bp->flags & TPA_ENABLE_FLAG)
>
>
> > -----Original Message-----
> > From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org] On
> > Behalf Of Tom Herbert
> > Sent: Friday, April 23, 2010 8:54 AM
> > To: davem@davemloft.net; netdev@vger.kernel.org
> > Subject: [PATCH] bnx2x: add support for receive hashing
> >
> > Add support to bnx2x to extract Toeplitz hash out of the receive descriptor
> > for use in skb->rxhash.
> >
> > Signed-off-by: Tom Herbert <therbert@google.com>
> > ---
> > diff --git a/drivers/net/bnx2x.h b/drivers/net/bnx2x.h
> > index 0819530..8bd2368 100644
> > --- a/drivers/net/bnx2x.h
> > +++ b/drivers/net/bnx2x.h
> > @@ -1330,7 +1330,7 @@ static inline u32 reg_poll(struct bnx2x *bp, u32 reg,
> > u32 expected, int ms,
> > AEU_INPUTS_ATTN_BITS_MCP_LATCHED_UMP_TX_PARITY | \
> > AEU_INPUTS_ATTN_BITS_MCP_LATCHED_SCPAD_PARITY)
> >
> > -#define MULTI_FLAGS(bp) \
> > +#define RSS_FLAGS(bp) \
> > (TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV4_CAPABILITY | \
> > TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV4_TCP_CAPABILITY | \
> > TSTORM_ETH_FUNCTION_COMMON_CONFIG_RSS_IPV6_CAPABILITY | \
> > diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
> > index 0c6dba2..613f727 100644
> > --- a/drivers/net/bnx2x_main.c
> > +++ b/drivers/net/bnx2x_main.c
> > @@ -1582,7 +1582,7 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp,
> int
> > budget)
> > struct sw_rx_bd *rx_buf = NULL;
> > struct sk_buff *skb;
> > union eth_rx_cqe *cqe;
> > - u8 cqe_fp_flags;
> > + u8 cqe_fp_flags, cqe_fp_status_flags;
> > u16 len, pad;
> >
> > comp_ring_cons = RCQ_BD(sw_comp_cons);
> > @@ -1598,6 +1598,7 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp,
> int
> > budget)
> >
> > cqe = &fp->rx_comp_ring[comp_ring_cons];
> > cqe_fp_flags = cqe->fast_path_cqe.type_error_flags;
> > + cqe_fp_status_flags = cqe->fast_path_cqe.status_flags;
> >
> > DP(NETIF_MSG_RX_STATUS, "CQE type %x err %x status %x"
> > " queue %x vlan %x len %u\n", CQE_TYPE(cqe_fp_flags),
> > @@ -1727,6 +1728,12 @@ reuse_rx:
> >
> > skb->protocol = eth_type_trans(skb, bp->dev);
> >
> > + if ((bp->dev->features & ETH_FLAG_RXHASH) &&
> > + (cqe_fp_status_flags &
> > + ETH_FAST_PATH_RX_CQE_RSS_HASH_FLG))
> > + skb->rxhash = le32_to_cpu(
> > + cqe->fast_path_cqe.rss_hash_result);
> > +
> > skb->ip_summed = CHECKSUM_NONE;
> > if (bp->rx_csum) {
> > if (likely(BNX2X_RX_CSUM_OK(cqe)))
> > @@ -5750,10 +5757,10 @@ static void bnx2x_init_internal_func(struct bnx2x
> > *bp)
> > u32 offset;
> > u16 max_agg_size;
> >
> > - if (is_multi(bp)) {
> > - tstorm_config.config_flags = MULTI_FLAGS(bp);
> > + tstorm_config.config_flags = RSS_FLAGS(bp);
> > +
> > + if (is_multi(bp))
> > tstorm_config.rss_result_mask = MULTI_MASK;
> > - }
> >
> > /* Enable TPA if needed */
> > if (bp->flags & TPA_ENABLE_FLAG)
> > @@ -6629,10 +6636,8 @@ static int bnx2x_init_common(struct bnx2x *bp)
> > bnx2x_init_block(bp, PBF_BLOCK, COMMON_STAGE);
> >
> > REG_WR(bp, SRC_REG_SOFT_RST, 1);
> > - for (i = SRC_REG_KEYRSS0_0; i <= SRC_REG_KEYRSS1_9; i += 4) {
> > - REG_WR(bp, i, 0xc0cac01a);
> > - /* TODO: replace with something meaningful */
> > - }
> > + for (i = SRC_REG_KEYRSS0_0; i <= SRC_REG_KEYRSS1_9; i += 4)
> > + REG_WR(bp, i, random32());
> > bnx2x_init_block(bp, SRCH_BLOCK, COMMON_STAGE);
> > #ifdef BCM_CNIC
> > REG_WR(bp, SRC_REG_KEYSEARCH_0, 0x63285672);
> > @@ -11001,6 +11006,11 @@ static int bnx2x_set_flags(struct net_device *dev,
> > u32 data)
> > changed = 1;
> > }
> >
> > + if (data & ETH_FLAG_RXHASH)
> > + dev->features |= NETIF_F_RXHASH;
> > + else
> > + dev->features &= ~NETIF_F_RXHASH;
> > +
> > if (changed && netif_running(dev)) {
> > bnx2x_nic_unload(bp, UNLOAD_NORMAL);
> > rc = bnx2x_nic_load(bp, LOAD_NORMAL);
> > --
> > To unsubscribe from this list: send the line "unsubscribe netdev" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: Possible bug in net/ipv4/route.c?
From: Herbert Xu @ 2010-07-06 7:29 UTC (permalink / raw)
To: Guojun Jin
Cc: Stephen Hemminger, Sol Kavy, linux-kernel, Greg Ren, Murat Sezgin,
Sener Ilgen, David S. Miller, netdev
In-Reply-To: <CB2DD11991B27C4F99935E6229450D3203950BE5@STORK.scenix.com>
On Mon, Jul 05, 2010 at 11:06:30PM -0700, Guojun Jin wrote:
>
> Would you please point to where is the best place that CB should be cleared for this case?
>
> I also wonder why IP packet is routed through ARP queue for ICMP delievry.
I was hoping that you guys would figure this out :)
Anyway, this patch should fix the crash.
bridge: Clear IPCB before possible entry into IP stack
The bridge protocol lives dangerously by having incestuous relations
with the IP stack. In this instance an abomination has been created
where a bogus IPCB area from a bridged packet leads to a crash in
the IP stack because it's interpreted as IP options.
This patch papers over the problem by clearing the IPCB area in that
particular spot. To fix this properly we'd also need to parse any
IP options if present but I'm way too lazy for that.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index 4442099..8fb75f8 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -591,6 +591,9 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff *skb,
pskb_trim_rcsum(skb, len);
+ /* BUG: Should really parse the IP options here. */
+ memset(IPCB(skb), 0, sizeof(struct inet_skb_parm));
+
nf_bridge_put(skb->nf_bridge);
if (!nf_bridge_alloc(skb))
return NF_DROP;
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply related
* [PATCH -net-2.6] ll_temac: Fix missing iounmaps
From: Denis Kirjanov @ 2010-07-06 7:44 UTC (permalink / raw)
To: davem; +Cc: john.linn, brian.hill, netdev
Fix missing iounmaps.
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
---
drivers/net/ll_temac_main.c | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c
index 52dcc84..6474c49 100644
--- a/drivers/net/ll_temac_main.c
+++ b/drivers/net/ll_temac_main.c
@@ -964,7 +964,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
np = of_parse_phandle(op->dev.of_node, "llink-connected", 0);
if (!np) {
dev_err(&op->dev, "could not find DMA node\n");
- goto nodev;
+ goto err_iounmap;
}
/* Setup the DMA register accesses, could be DCR or memory mapped */
@@ -978,7 +978,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
dev_dbg(&op->dev, "MEM base: %p\n", lp->sdma_regs);
} else {
dev_err(&op->dev, "unable to map DMA registers\n");
- goto nodev;
+ goto err_iounmap;
}
}
@@ -987,7 +987,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
if ((lp->rx_irq == NO_IRQ) || (lp->tx_irq == NO_IRQ)) {
dev_err(&op->dev, "could not determine irqs\n");
rc = -ENOMEM;
- goto nodev;
+ goto err_iounmap_2;
}
of_node_put(np); /* Finished with the DMA node; drop the reference */
@@ -997,7 +997,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
if ((!addr) || (size != 6)) {
dev_err(&op->dev, "could not find MAC address\n");
rc = -ENODEV;
- goto nodev;
+ goto err_iounmap_2;
}
temac_set_mac_address(ndev, (void *)addr);
@@ -1013,7 +1013,7 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
rc = sysfs_create_group(&lp->dev->kobj, &temac_attr_group);
if (rc) {
dev_err(lp->dev, "Error creating sysfs files\n");
- goto nodev;
+ goto err_iounmap_2;
}
rc = register_netdev(lp->ndev);
@@ -1026,6 +1026,11 @@ temac_of_probe(struct of_device *op, const struct of_device_id *match)
err_register_ndev:
sysfs_remove_group(&lp->dev->kobj, &temac_attr_group);
+ err_iounmap_2:
+ if (lp->sdma_regs)
+ iounmap(lp->sdma_regs);
+ err_iounmap:
+ iounmap(lp->regs);
nodev:
free_netdev(ndev);
ndev = NULL;
@@ -1044,6 +1049,9 @@ static int __devexit temac_of_remove(struct of_device *op)
of_node_put(lp->phy_node);
lp->phy_node = NULL;
dev_set_drvdata(&op->dev, NULL);
+ iounmap(lp->regs);
+ if (lp->sdma_regs)
+ iounmap(lp->sdma_regs);
free_netdev(ndev);
return 0;
}
--
1.6.4.4
^ permalink raw reply related
* Re: [PATCH 00/11] ISDN patches for 2.6.36
From: Tilman Schmidt @ 2010-07-06 7:47 UTC (permalink / raw)
To: David Miller; +Cc: isdn, hjlipp, keil, i4ldeveloper, netdev, linux-kernel
In-Reply-To: <20100705.185352.39176355.davem@davemloft.net>
[-- Attachment #1: Type: text/plain, Size: 598 bytes --]
Am 2010-07-06 03:53 schrieb David Miller:
> From: Tilman Schmidt <tilman@imap.cc>
> Date: Tue, 6 Jul 2010 02:18:32 +0200 (CEST)
>
>> Karsten, David,
>>
>> following are a series of patches to the Gigaset driver I'd like
>> to see included in kernel release 2.6.36.
>
> Do they have any dependencies on the two patch set of fixes
> you just sent out for net-2.6?
None. They are completely independent.
I guess your question arose because I gave both series the same
title by mistake. The second one should have been called:
"*Gigaset* patches for 2.6.36".
Thanks,
Tilman
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply
* Re: [PATCH 05/11] isdn/gigaset: improve CAPI message debugging
From: Tilman Schmidt @ 2010-07-06 8:14 UTC (permalink / raw)
To: David Miller; +Cc: isdn, hjlipp, keil, i4ldeveloper, netdev, linux-kernel
In-Reply-To: <20100705.192356.52184135.davem@davemloft.net>
[-- Attachment #1: Type: text/plain, Size: 1273 bytes --]
Am 2010-07-06 04:23 schrieb David Miller:
> From: Tilman Schmidt <tilman@imap.cc>
> Date: Tue, 6 Jul 2010 02:18:59 +0200 (CEST)
>
>> @@ -384,7 +388,7 @@ void gigaset_skb_sent(struct bc_state *bcs, struct sk_buff *dskb)
>>
>> /* don't send further B3 messages if disconnected */
>> if (bcs->apconnstate < APCONN_ACTIVE) {
>> - gig_dbg(DEBUG_LLDATA, "disconnected, discarding ack");
>> + gig_dbg(DEBUG_MCMD, "disconnected, discarding ack");
>> return;
>> }
>
> This is against something other than net-next-2.6 even with your
> other two ISDN patches applied, because all of these lines read
> "if (ap->connected ..."
>
> Please tell me what exactly these patches are against so that I
> can apply them to net-next-2.6 cleanly.
They are against mainline and apply cleanly to v2.6.35-rc3.
IOW, they go on top of the series you applied to net-2.6 on
Fri, 25 Jun 2010 21:31:28 -0700 (PDT).
Specifically, the last patch of that series,
> Subject: [PATCH 5/5] isdn/gigaset: correct CAPI connection state storage
makes the switch from ap->connected to bcs->apconnstate.
So if you'll postpone applying last night's series until
after your next merge of net-2.6 into net-next-2.6, it
should then apply cleanly.
Thanks,
Tilman
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply
* Re: setsockopt(IP_TOS) being privileged or distinct capability?
From: Rémi Denis-Courmont @ 2010-07-06 8:17 UTC (permalink / raw)
To: Philip Prindeville; +Cc: netdev
In-Reply-To: <4C2F7A55.5090700@redfish-solutions.com>
On Sat, 03 Jul 2010 11:58:45 -0600, Philip Prindeville
<philipp_subx@redfish-solutions.com> wrote:
> Does anyone else think that setsockopt(IP_TOS) should be a privileged
> operation, perhaps using CAP_NET_ADMIN, or maybe even adding separate
> granularity as CAP_NET_TOS?
That's a terribly idea.
Some applications do rely on this to set their TOS "correctly". If you
don't want unprivileged applications to be able to affect the queuing
policy, then don't use the TOS bits in your queuing policy - as simple as
that.
--
Rémi Denis-Courmont
http://www.remlab.net
http://fi.linkedin.com/in/remidenis
^ permalink raw reply
* Dear friend,
From: mamudadiallo @ 2010-07-06 10:17 UTC (permalink / raw)
Dear friend,
I want to transfer ($2,500.000.00) Two million Five hundred thousand United States Dollars to overseas account.
Your assistance as a foreigner is necessary because the management of the bank will welcome any foreigner who has correct information to this account which I will give to you immediately, if you are interested to do this business with me please reply with the assurance, include your private telephone and fax numbers as it is necessary to facilitate an easy communication in this transaction.
As soon as you reply, I will let you know the next step to follow in order to finalize this transaction immediately. I expect your urgent communication.
Upon your response and strong assurance that you will not let me down once the fund goes into your account.
I will let you know the origin of the fund and the transfer procedures without delay.
Yours sincerely.
MAMUDA DIALLO
^ permalink raw reply
* Re: setsockopt(IP_TOS) being privileged or distinct capability?
From: Benny Amorsen @ 2010-07-06 10:56 UTC (permalink / raw)
To: Philip Prindeville; +Cc: Alexander Clouter, netdev
In-Reply-To: <4C321EAF.9000508@redfish-solutions.com>
Philip Prindeville <philipp_subx@redfish-solutions.com> writes:
> Once QoS markings actually *are* implemented in carrier networks, the
> potential for abuse is non-insignificant. Hence the suggestion to
> make it privileged.
I think you are overestimating the potential for abuse. ISP's who
oversubscribe enough to suffer from heavy congestion internally should
stop doing that and most likely have fancy congestion control equipment
installed. That equipment can apply all sorts of limits to prioritized
traffic.
For a more typical ISP, marking TCP packets with EF means you get
marginally lower and more stable latency but risk increased packet loss.
TCP does not mind a little extra latency and suffers badly from packet
loss, so that behaviour should be self-limiting.
/Benny
^ permalink raw reply
* [PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper
From: Ken Kawasaki @ 2010-07-06 11:22 UTC (permalink / raw)
To: netdev
In-Reply-To: <20100620102427.77d2c7d3.ken_kawasaki@spring.nifty.jp>
axnet_cs:
local_irq_save before calling ei_irq_wrapper.
Signed-off-by: Ken Kawasaki <ken_kawasaki@spring.nifty.jp>
---
--- linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c.orig 2010-07-04 08:28:15.000000000 +0900
+++ linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c 2010-07-04 08:40:23.000000000 +0900
@@ -606,6 +606,7 @@ static void ei_watchdog(u_long arg)
unsigned int nic_base = dev->base_addr;
unsigned int mii_addr = nic_base + AXNET_MII_EEP;
u_short link;
+ unsigned long flags;
if (!netif_device_present(dev)) goto reschedule;
@@ -614,7 +615,10 @@ static void ei_watchdog(u_long arg)
if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) {
if (!info->fast_poll)
printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
+ local_irq_save(flags);
ei_irq_wrapper(dev->irq, dev);
+ local_irq_restore(flags);
+
info->fast_poll = HZ;
}
if (info->fast_poll) {
^ permalink raw reply
* Re: [patch v2.3 1/4] netfilter: xt_ipvs (netfilter matcher for IPVS)
From: Patrick McHardy @ 2010-07-06 11:32 UTC (permalink / raw)
To: Simon Horman
Cc: lvs-devel, netdev, linux-kernel, netfilter, netfilter-devel,
Malcolm Turnbull, Wensong Zhang, Julius Volz, David S. Miller,
Hannes Eder
In-Reply-To: <20100704114808.459045895@vergenet.net>
Simon Horman wrote:
> From: Hannes Eder <heder@google.com>
>
> This implements the kernel-space side of the netfilter matcher xt_ipvs.
>
> @@ -0,0 +1,25 @@
> +#ifndef _XT_IPVS_H
> +#define _XT_IPVS_H
> +
> +#define XT_IPVS_IPVS_PROPERTY (1 << 0) /* all other options imply this one */
> +#define XT_IPVS_PROTO (1 << 1)
> +#define XT_IPVS_VADDR (1 << 2)
> +#define XT_IPVS_VPORT (1 << 3)
> +#define XT_IPVS_DIR (1 << 4)
> +#define XT_IPVS_METHOD (1 << 5)
> +#define XT_IPVS_VPORTCTL (1 << 6)
> +#define XT_IPVS_MASK ((1 << 7) - 1)
> +#define XT_IPVS_ONCE_MASK (XT_IPVS_MASK & ~XT_IPVS_IPVS_PROPERTY)
> +
> +struct xt_ipvs_mtinfo {
> + union nf_inet_addr vaddr, vmask;
> + __be16 vport;
> + __u16 l4proto;
> + __u16 fwd_method;
>
It seems you could use __u8 for both l4proto and fwd_method
and reduce the match size by 2 bytes.
> + __be16 vportctl;
> +
> + __u8 invert;
> + __u8 bitmask;
> +};
> +static bool
> +ipvs_mt(const struct sk_buff *skb, struct xt_action_param *par)
> +...
>
> + if (data->bitmask & XT_IPVS_DIR) {
> + enum ip_conntrack_info ctinfo;
> + struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
> +
> + if (ct == NULL || ct == &nf_conntrack_untracked) {
>
We're using per-cpu structures for nf_conntrack_untracked in the
current net-next/nf-next tree, so this doesn't work anymore. You
need to use nf_ct_is_untracked() instead.
> + match = false;
> + goto out_put_cp;
> + }
^ permalink raw reply
* Re: [patch v2.3 2/4] IPVS: make friends with nf_conntrack
From: Patrick McHardy @ 2010-07-06 11:36 UTC (permalink / raw)
To: Simon Horman
Cc: lvs-devel, netdev, linux-kernel, netfilter, netfilter-devel,
Malcolm Turnbull, Wensong Zhang, Julius Volz, David S. Miller,
Hannes Eder
In-Reply-To: <20100704114808.668473084@vergenet.net>
Simon Horman wrote:
> +static void
> +ip_vs_update_conntrack(struct sk_buff *skb, struct ip_vs_conn *cp)
> +{
> + struct nf_conn *ct = (struct nf_conn *)skb->nfct;
> + struct nf_conntrack_tuple new_tuple;
> +
> + if (ct == NULL || ct == &nf_conntrack_untracked ||
> + nf_ct_is_confirmed(ct))
>
Similar to the last patch, this needs to use nf_ct_is_untracked().
> + return;
> +
^ permalink raw reply
* Re: [patch v2.3 3/4] IPVS: make FTP work with full NAT support
From: Patrick McHardy @ 2010-07-06 11:43 UTC (permalink / raw)
To: Simon Horman
Cc: lvs-devel, netdev, linux-kernel, netfilter, netfilter-devel,
Malcolm Turnbull, Wensong Zhang, Julius Volz, David S. Miller,
Hannes Eder
In-Reply-To: <20100704114808.932594876@vergenet.net>
Simon Horman wrote:
> @@ -219,19 +358,23 @@ static int ip_vs_ftp_out(struct ip_vs_ap
>
> buf_len = strlen(buf);
>
> + ct = nf_ct_get(skb, &ctinfo);
> + ret = nf_nat_mangle_tcp_packet(skb,
> + ct,
> + ctinfo,
> + start-data,
> + end-start,
> + buf,
> + buf_len);
> +
> + if (ct && ct != &nf_conntrack_untracked)
>
This does not make sense, you're already using the conntrack above
in the call to nf_nat_mangle_tcp_packet(), so the check should
probably happen before that. You also should be checking the
return value of nf_nat_mangle_tcp_packet() before setting up the
expectation.
> + ip_vs_expect_related(skb, ct, n_cp,
> + IPPROTO_TCP, NULL, 0);
^ permalink raw reply
* Re: iwl3945: HARDWARE GONE??
From: Priit Laes @ 2010-07-06 12:48 UTC (permalink / raw)
To: Robert Hancock; +Cc: netdev, linux-kernel
In-Reply-To: <4C32766C.4080305@gmail.com>
Ühel kenal päeval, E, 2010-07-05 kell 18:18, kirjutas Robert Hancock:
> On 07/02/2010 10:02 AM, Priit Laes wrote:
> > Heya!
> >
> > Bumped my kernel to version 2.6.35-rc3-00391-g97e0214 and ran into
> > HARDWARE GONE error message..
> >
> > Hardware is Lenovo x60s and wireless card is intel 3945:
> >
> > 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
> > Subsystem: Intel Corporation ThinkPad R60e/X60s
> > Flags: bus master, fast devsel, latency 0, IRQ 47
> > Memory at edf00000 (32-bit, non-prefetchable) [size=4K]
> > Capabilities: [c8] Power Management version 2
> > Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
> > Capabilities: [e0] Express Legacy Endpoint, MSI 00
> > Capabilities: [100] Advanced Error Reporting
> > Capabilities: [140] Device Serial Number 00-xx-xx-xx-xx-xx-xx-xx
> > Kernel driver in use: iwl3945
> > Kernel modules: iwl3945
>
> Wonder if somehow an ACPI power resource powering the wireless card got
> switched off? What previous kernel version was working, can you try
> bisecting?
Bisecting is a bit hard, because I haven't seen this issue anymore :(
^ permalink raw reply
* [PATCH] vxge: show startup message with KERN_INFO
From: Wu Fengguang @ 2010-07-06 13:02 UTC (permalink / raw)
To: David Miller; +Cc: Sreenivasa Honnur, netdev
The original KERN_CRIT will mess up terminals.
CC: Sreenivasa Honnur <Sreenivasa.Honnur@neterion.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
drivers/net/vxge/vxge-main.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c
index 45c5dc2..93a9147 100644
--- a/drivers/net/vxge/vxge-main.c
+++ b/drivers/net/vxge/vxge-main.c
@@ -4515,9 +4515,9 @@ vxge_starter(void)
char version[32];
snprintf(version, 32, "%s", DRV_VERSION);
- printk(KERN_CRIT "%s: Copyright(c) 2002-2009 Neterion Inc\n",
+ printk(KERN_INFO "%s: Copyright(c) 2002-2009 Neterion Inc\n",
VXGE_DRIVER_NAME);
- printk(KERN_CRIT "%s: Driver version: %s\n",
+ printk(KERN_INFO "%s: Driver version: %s\n",
VXGE_DRIVER_NAME, version);
verify_bandwidth();
--
1.6.6
^ permalink raw reply related
* [net-next PATCH] bnx2x: Set RXHASH for LRO packets
From: Vladislav Zolotarov @ 2010-07-06 14:09 UTC (permalink / raw)
To: Dave Miller; +Cc: netdev, Eilon Greenstein
Set Toeplitz hash both for LRO and none-LRO skbs.
The first CQE (TPA_START) will contain a hash for an LRO packet.
Current code sets skb->rx_hash for none-LRO skbs only.
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
drivers/net/bnx2x_main.c | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index 57ff5b3..a868e4a 100644
--- a/drivers/net/bnx2x_main.c
+++ b/drivers/net/bnx2x_main.c
@@ -1545,6 +1545,20 @@ static inline void bnx2x_update_rx_prod(struct bnx2x *bp,
fp->index, bd_prod, rx_comp_prod, rx_sge_prod);
}
+/* Set Toeplitz hash value in the skb using the value from the
+ * CQE (calculated by HW).
+ */
+static inline void bnx2x_set_skb_rxhash(struct bnx2x *bp, union eth_rx_cqe *cqe,
+ struct sk_buff *skb)
+{
+ /* Set Toeplitz hash from CQE */
+ if ((bp->dev->features & NETIF_F_RXHASH) &&
+ (cqe->fast_path_cqe.status_flags &
+ ETH_FAST_PATH_RX_CQE_RSS_HASH_FLG))
+ skb->rxhash =
+ le32_to_cpu(cqe->fast_path_cqe.rss_hash_result);
+}
+
static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
{
struct bnx2x *bp = fp->bp;
@@ -1582,7 +1596,7 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
struct sw_rx_bd *rx_buf = NULL;
struct sk_buff *skb;
union eth_rx_cqe *cqe;
- u8 cqe_fp_flags, cqe_fp_status_flags;
+ u8 cqe_fp_flags;
u16 len, pad;
comp_ring_cons = RCQ_BD(sw_comp_cons);
@@ -1598,7 +1612,6 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
cqe = &fp->rx_comp_ring[comp_ring_cons];
cqe_fp_flags = cqe->fast_path_cqe.type_error_flags;
- cqe_fp_status_flags = cqe->fast_path_cqe.status_flags;
DP(NETIF_MSG_RX_STATUS, "CQE type %x err %x status %x"
" queue %x vlan %x len %u\n", CQE_TYPE(cqe_fp_flags),
@@ -1634,6 +1647,10 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
bnx2x_tpa_start(fp, queue, skb,
bd_cons, bd_prod);
+
+ /* Set Toeplitz hash for an LRO skb */
+ bnx2x_set_skb_rxhash(bp, cqe, skb);
+
goto next_rx;
}
@@ -1726,11 +1743,8 @@ reuse_rx:
skb->protocol = eth_type_trans(skb, bp->dev);
- if ((bp->dev->features & NETIF_F_RXHASH) &&
- (cqe_fp_status_flags &
- ETH_FAST_PATH_RX_CQE_RSS_HASH_FLG))
- skb->rxhash = le32_to_cpu(
- cqe->fast_path_cqe.rss_hash_result);
+ /* Set Toeplitz hash for a none-LRO skb */
+ bnx2x_set_skb_rxhash(bp, cqe, skb);
skb->ip_summed = CHECKSUM_NONE;
if (bp->rx_csum) {
--
1.7.0.4
^ permalink raw reply related
* NET: SB1250: Initialize .owner
From: Ralf Baechle @ 2010-07-06 15:18 UTC (permalink / raw)
To: David S. Miller, netdev; +Cc: linux-mips, Maciej W. Rozycki
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/net/sb1250-mac.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index 1f3acc3..79eee30 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -2671,6 +2671,7 @@ static struct platform_driver sbmac_driver = {
.remove = __exit_p(sbmac_remove),
.driver = {
.name = sbmac_string,
+ .owner = THIS_MODULE,
},
};
^ permalink raw reply related
* [PATCH] ks8842: Do the TX timeout work in workqueue context.
From: Richard Röjfors @ 2010-07-06 15:20 UTC (permalink / raw)
To: netdev; +Cc: davem
Currently all code that needs to be run at TX timeout is done in the
calling context, where bottom halves are disabled. Some of the code
blocks, so it needs to be done in a different context. This patch
adds in a work struct which is scheduled at TX timeout. Then the
timeout code is executed within work queue context.
Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
---
diff --git a/drivers/net/ks8842.c b/drivers/net/ks8842.c
index d47bba9..0be9261 100644
--- a/drivers/net/ks8842.c
+++ b/drivers/net/ks8842.c
@@ -119,6 +119,8 @@ struct ks8842_adapter {
int irq;
struct tasklet_struct tasklet;
spinlock_t lock; /* spinlock to be interrupt safe */
+ struct work_struct timeout_work;
+ struct net_device *netdev;
};
static inline void ks8842_select_bank(struct ks8842_adapter *adapter,
u16 bank)
@@ -197,7 +199,6 @@ static void ks8842_reset(struct ks8842_adapter
*adapter)
msleep(10);
iowrite16(0, adapter->hw_addr + REG_GRR);
*/
- iowrite16(32, adapter->hw_addr + REG_SELECT_BANK);
iowrite32(0x1, adapter->hw_addr + REG_TIMB_RST);
msleep(20);
}
@@ -553,6 +554,8 @@ static int ks8842_close(struct net_device *netdev)
netdev_dbg(netdev, "%s - entry\n", __func__);
+ cancel_work_sync(&adapter->timeout_work);
+
/* free the irq */
free_irq(adapter->irq, netdev);
@@ -595,9 +598,11 @@ static int ks8842_set_mac(struct net_device
*netdev, void *p)
return 0;
}
-static void ks8842_tx_timeout(struct net_device *netdev)
+static void ks8842_tx_timeout_work(struct work_struct *work)
{
- struct ks8842_adapter *adapter = netdev_priv(netdev);
+ struct ks8842_adapter *adapter =
+ container_of(work, struct ks8842_adapter, timeout_work);
+ struct net_device *netdev = adapter->netdev;
unsigned long flags;
netdev_dbg(netdev, "%s: entry\n", __func__);
@@ -606,6 +611,9 @@ static void ks8842_tx_timeout(struct net_device
*netdev)
/* disable interrupts */
ks8842_write16(adapter, 18, 0, REG_IER);
ks8842_write16(adapter, 18, 0xFFFF, REG_ISR);
+
+ netif_stop_queue(netdev);
+
spin_unlock_irqrestore(&adapter->lock, flags);
ks8842_reset_hw(adapter);
@@ -615,6 +623,15 @@ static void ks8842_tx_timeout(struct net_device
*netdev)
ks8842_update_link_status(netdev, adapter);
}
+static void ks8842_tx_timeout(struct net_device *netdev)
+{
+ struct ks8842_adapter *adapter = netdev_priv(netdev);
+
+ netdev_dbg(netdev, "%s: entry\n", __func__);
+
+ schedule_work(&adapter->timeout_work);
+}
+
static const struct net_device_ops ks8842_netdev_ops = {
.ndo_open = ks8842_open,
.ndo_stop = ks8842_close,
@@ -649,6 +666,8 @@ static int __devinit ks8842_probe(struct
platform_device *pdev)
SET_NETDEV_DEV(netdev, &pdev->dev);
adapter = netdev_priv(netdev);
+ adapter->netdev = netdev;
+ INIT_WORK(&adapter->timeout_work, ks8842_tx_timeout_work);
adapter->hw_addr = ioremap(iomem->start, resource_size(iomem));
if (!adapter->hw_addr)
goto err_ioremap;
^ permalink raw reply related
* Re: [PATCH] vxge: show startup message with KERN_INFO
From: Jon Mason @ 2010-07-06 16:08 UTC (permalink / raw)
To: Wu Fengguang; +Cc: David Miller, Sreenivasa Honnur, netdev@vger.kernel.org
In-Reply-To: <20100706130203.GA31471@localhost>
On Tue, Jul 06, 2010 at 06:02:03AM -0700, Wu Fengguang wrote:
> The original KERN_CRIT will mess up terminals.
Looks reasonable to me.
Thanks,
Jon
>
> CC: Sreenivasa Honnur <Sreenivasa.Honnur@neterion.com>
> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
> ---
> drivers/net/vxge/vxge-main.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c
> index 45c5dc2..93a9147 100644
> --- a/drivers/net/vxge/vxge-main.c
> +++ b/drivers/net/vxge/vxge-main.c
> @@ -4515,9 +4515,9 @@ vxge_starter(void)
> char version[32];
> snprintf(version, 32, "%s", DRV_VERSION);
>
> - printk(KERN_CRIT "%s: Copyright(c) 2002-2009 Neterion Inc\n",
> + printk(KERN_INFO "%s: Copyright(c) 2002-2009 Neterion Inc\n",
> VXGE_DRIVER_NAME);
> - printk(KERN_CRIT "%s: Driver version: %s\n",
> + printk(KERN_INFO "%s: Driver version: %s\n",
> VXGE_DRIVER_NAME, version);
>
> verify_bandwidth();
> --
> 1.6.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
The information and any attached documents contained in this message
may be confidential and/or legally privileged. The message is
intended solely for the addressee(s). If you are not the intended
recipient, you are hereby notified that any use, dissemination, or
reproduction is strictly prohibited and may be unlawful. If you are
not the intended recipient, please contact the sender immediately by
return e-mail and destroy all copies of the original message.
^ permalink raw reply
* Re: [linux-pm] [PATCH 3/3] pm_qos: get rid of the allocation in pm_qos_add_request()
From: James Bottomley @ 2010-07-06 16:12 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: linux-pm, Takashi Iwai, netdev, markgross
In-Reply-To: <201007052307.07655.rjw@sisk.pl>
On Mon, 2010-07-05 at 23:07 +0200, Rafael J. Wysocki wrote:
> On Monday, July 05, 2010, James Bottomley wrote:
> > On Mon, 2010-07-05 at 08:41 +0200, Takashi Iwai wrote:
> > > sorry for the late reply, as I've been on vacation in the last week
> > > (and shut off mails intentionally :)
> >
> > Envy forbids me from saying that's OK.
> >
> > > At Mon, 28 Jun 2010 12:44:48 -0500,
> > > James Bottomley wrote:
> > > >
> > > > Since every caller has to squirrel away the returned pointer anyway,
> > > > they might as well supply the memory area. This fixes a bug in a few of
> > > > the call sites where the returned pointer was dereferenced without
> > > > checking it for NULL (which gets returned if the kzalloc failed).
> > > >
> > > > I'd like to hear how sound and netdev feels about this: it will add
> > > > about two more pointers worth of data to struct netdev and struct
> > > > snd_pcm_substream .. but I think it's worth it. If you're OK, I'll add
> > > > your acks and send through the pm tree.
> > > >
> > > > This also looks to me like an android independent clean up (even though
> > > > it renders the request_add atomically callable). I also added include
> > > > guards to include/linux/pm_qos_params.h
> > >
> > > I like the patch very well, too.
> > > But, just wondering...
> > >
> > > > @@ -262,6 +260,11 @@ void pm_qos_update_request(struct pm_qos_request_list *pm_qos_req,
> > > > if (!pm_qos_req) /*guard against callers passing in null */
> > > > return;
> > > >
> > > > + if (pm_qos_request_active(pm_qos_req)) {
> > > > + WARN(1, KERN_ERR "pm_qos_update_request() called for unknown object\n");
> > > > + return;
> > > > + }
> > > > +
> > >
> > > Is this correct...? Shouldn't it be a negative check?
> >
> > Yes, it should be a negative check ... I'll update the patch.
>
> I've already fixed it in my tree.
Ah, OK, thanks ... so that would explain why we haven't been getting
floods of reports (instead of me thinking no-one has tested it).
> > I guess this still means that no-one has managed to test it on a functional
> > system ...
>
> Well, it's been for a while in linux-next ...
So here's hoping ...
James
^ permalink raw reply
* Re: [PATCH net-next-2.6] IB/{nes, ipoib}: Pass supported flags to ethtool_op_set_flags()
From: Randy Dunlap @ 2010-07-06 16:22 UTC (permalink / raw)
To: Ben Hutchings
Cc: amit.salecha, linux-net-drivers, dm, sgruszka, amwang,
Faisal Latif, e1000-devel, netdev, anirban.chakraborty, jgarzik,
vkolluri, Chien Tung, brice, gallatin, linux-rdma, scofeldm,
Roland Dreier, shemminger, David Miller, buytenh, roprabhu
In-Reply-To: <1278186089.4878.570.camel@localhost>
On 07/03/10 12:41, Ben Hutchings wrote:
> Following commit 1437ce3983bcbc0447a0dedcd644c14fe833d266 "ethtool:
> Change ethtool_op_set_flags to validate flags", ethtool_op_set_flags
> takes a third parameter and cannot be used directly as an
> implementation of ethtool_ops::set_flags.
>
> Changes nes and ipoib driver to pass in the appropriate value.
>
> Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
> ---
> This is compile-tested only.
Ack, thanks.
> Dave, Roland, you'd better decide between yourselves should apply this.
>
> Ben.
>
> drivers/infiniband/hw/nes/nes_nic.c | 8 +++++++-
> drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 7 ++++++-
> 2 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c
> index 5cc0a9a..42e7aad 100644
> --- a/drivers/infiniband/hw/nes/nes_nic.c
> +++ b/drivers/infiniband/hw/nes/nes_nic.c
> @@ -1567,6 +1567,12 @@ static int nes_netdev_set_settings(struct net_device *netdev, struct ethtool_cmd
> }
>
>
> +static int nes_netdev_set_flags(struct net_device *netdev, u32 flags)
> +{
> + return ethtool_op_set_flags(netdev, flags, ETH_FLAG_LRO);
> +}
> +
> +
> static const struct ethtool_ops nes_ethtool_ops = {
> .get_link = ethtool_op_get_link,
> .get_settings = nes_netdev_get_settings,
> @@ -1588,7 +1594,7 @@ static const struct ethtool_ops nes_ethtool_ops = {
> .get_tso = ethtool_op_get_tso,
> .set_tso = ethtool_op_set_tso,
> .get_flags = ethtool_op_get_flags,
> - .set_flags = ethtool_op_set_flags,
> + .set_flags = nes_netdev_set_flags,
> };
>
>
> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c b/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
> index 40e8584..1a1657c 100644
> --- a/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
> +++ b/drivers/infiniband/ulp/ipoib/ipoib_ethtool.c
> @@ -147,6 +147,11 @@ static void ipoib_get_ethtool_stats(struct net_device *dev,
> data[index++] = priv->lro.lro_mgr.stats.no_desc;
> }
>
> +static int ipoib_set_flags(struct net_device *dev, u32 flags)
> +{
> + return ethtool_op_set_flags(dev, flags, ETH_FLAG_LRO);
> +}
> +
> static const struct ethtool_ops ipoib_ethtool_ops = {
> .get_drvinfo = ipoib_get_drvinfo,
> .get_rx_csum = ipoib_get_rx_csum,
> @@ -154,7 +159,7 @@ static const struct ethtool_ops ipoib_ethtool_ops = {
> .get_coalesce = ipoib_get_coalesce,
> .set_coalesce = ipoib_set_coalesce,
> .get_flags = ethtool_op_get_flags,
> - .set_flags = ethtool_op_set_flags,
> + .set_flags = ipoib_set_flags,
> .get_strings = ipoib_get_strings,
> .get_sset_count = ipoib_get_sset_count,
> .get_ethtool_stats = ipoib_get_ethtool_stats,
--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
^ permalink raw reply
* Re: linux-next: Tree for July 6 (NET_DSA + PHYLIB kconfig)
From: Randy Dunlap @ 2010-07-06 17:34 UTC (permalink / raw)
To: Stephen Rothwell, netdev; +Cc: linux-next, LKML
In-Reply-To: <20100706190519.93d8b785.sfr@canb.auug.org.au>
On Tue, 6 Jul 2010 19:05:19 +1000 Stephen Rothwell wrote:
> Hi all,
>
> Changes since 20100705:
>
> My fixes tree contains:
> kbuild: Fix path to scripts/setlocalversion
>
> ----------------------------------------------------------------------------
kconfig now detects symbol dependency errors and warns about them.
E.g.:
warning: (NET_DSA && NET && EXPERIMENTAL && !S390 || MACB && NETDEVICES && NET_ETHERNET && (AVR32 || ARCH_AT91SAM9260 || ARCH_AT91SAM9263 || ARCH_AT91SAM9G20 || ARCH_AT91SAM9G45 || ARCH_AT91CAP9) || IXP4XX_ETH && NETDEVICES && NET_ETHERNET && ARM && ARCH_IXP4XX && IXP4XX_NPE && IXP4XX_QMGR || W90P910_ETH && NETDEVICES && NET_ETHERNET && ARM && ARCH_W90X900 || MIPS_AU1X00_ENET && NETDEVICES && NET_ETHERNET && SOC_AU1X00 || SH_ETH && NETDEVICES && NET_ETHERNET && SUPERH && (CPU_SUBTYPE_SH7710 {{20 lines deleted}}
selects PHYLIB which has unmet direct dependencies (!S390 && NET_ETHERNET)
says that NET_DSA & PHYLIB have some kind of problem.
NET_DSA selects PHYLIB. PHYLIB depends on NET_ETHERNET, which is not enabled
in this randconfig. net/dsa code does need PHYLIB code, so PHYLIB symbol should
either drop "depends on NET_ETHERNET" or it should be changed to
depends on NET_ETHERNET || NET_DSA
Preference?
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
^ permalink raw reply
* Re: [PATCH 05/11] isdn/gigaset: improve CAPI message debugging
From: David Miller @ 2010-07-06 17:44 UTC (permalink / raw)
To: tilman; +Cc: isdn, hjlipp, keil, i4ldeveloper, netdev, linux-kernel
In-Reply-To: <4C32E5FD.70103@imap.cc>
From: Tilman Schmidt <tilman@imap.cc>
Date: Tue, 06 Jul 2010 10:14:53 +0200
> So if you'll postpone applying last night's series until
> after your next merge of net-2.6 into net-next-2.6, it
> should then apply cleanly.
That's the kind of information I'd like to see from you when you
post patches which have such dependencies.
Thanks.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox