Netdev List
 help / color / mirror / Atom feed
* linux-next: manual merge of the staging tree with the net tree
From: Stephen Rothwell @ 2011-07-22  5:42 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-next, linux-kernel, Jiri Pirko, David Miller, netdev,
	Mark Einon

[-- Attachment #1: Type: text/plain, Size: 516 bytes --]

Hi Greg,

Today's linux-next merge of the staging tree got a conflict in
drivers/staging/et131x/et131x_netdev.c between commit 9d846fec22db
("staging: et131x: remove unused prototype et131x_vlan_rx_register") from
the net tree and commit 2e861534ca09 ("staging: et131x: et131x_netdev.c
checkpatch fixes") from the staging tree.

The latter seems to be a superset of the former, so I used the latter.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* [PATCH] acenic: include NET_SKB_PAD headroom to incoming skbs
From: Eric Dumazet @ 2011-07-22  5:28 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Some workloads need some headroom (NET_SKB_PAD) to avoid expensive
reallocations.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
 drivers/net/acenic.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index 02fcb5c..536038b 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -1657,7 +1657,7 @@ static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs)
 		struct rx_desc *rd;
 		dma_addr_t mapping;
 
-		skb = alloc_skb(ACE_STD_BUFSIZE + NET_IP_ALIGN, GFP_ATOMIC);
+		skb = dev_alloc_skb(ACE_STD_BUFSIZE + NET_IP_ALIGN);
 		if (!skb)
 			break;
 
@@ -1718,7 +1718,7 @@ static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs)
 		struct rx_desc *rd;
 		dma_addr_t mapping;
 
-		skb = alloc_skb(ACE_MINI_BUFSIZE + NET_IP_ALIGN, GFP_ATOMIC);
+		skb = dev_alloc_skb(ACE_MINI_BUFSIZE + NET_IP_ALIGN);
 		if (!skb)
 			break;
 
@@ -1774,7 +1774,7 @@ static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs)
 		struct rx_desc *rd;
 		dma_addr_t mapping;
 
-		skb = alloc_skb(ACE_JUMBO_BUFSIZE + NET_IP_ALIGN, GFP_ATOMIC);
+		skb = dev_alloc_skb(ACE_JUMBO_BUFSIZE + NET_IP_ALIGN);
 		if (!skb)
 			break;
 



^ permalink raw reply related

* Re: ath: Unable to reset channel (2412 MHz), reset status -5
From: Justin P. Mattock @ 2011-07-22  5:07 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: netdev@vger.kernel.org, linux-wireless,
	linux-kernel@vger.kernel.org
In-Reply-To: <CAD2nsn1xEB-e33_wrGqLETZ4MwFy12gtyawtg5XHLH0=-9vs2w@mail.gmail.com>

On 07/19/2011 08:49 AM, Mohammed Shafi wrote:
> On Tue, Jul 19, 2011 at 8:55 PM, Justin P. Mattock
> <justinmattock@gmail.com>  wrote:
>> On 07/18/2011 11:46 PM, Mohammed Shafi wrote:
>>>
>>> On Tue, Jul 19, 2011 at 12:05 PM, Justin P. Mattock
>>> <justinmattock@gmail.com>    wrote:
>>>>
>>>> On 07/18/2011 11:25 PM, Mohammed Shafi wrote:
>>>>>
>>>>> On Tue, Jul 19, 2011 at 11:43 AM, Justin P. Mattock
>>>>> <justinmattock@gmail.com>      wrote:
>>>>>>
>>>>>> seems with the latest Mainline I am getting the ath9k carpping out
>>>>>> after
>>>>>> a
>>>>>> while of streaming(dmesg below)..:
>>>>>> http://fpaste.org/D7wM/
>>>>>>
>>>>>> will try a bisect if I have the time..
>>>>>
>>>>> I will try to recreate here with 3.0.0-rc7-wl, we can get more
>>>>> information by ath9k debug=0xffffffff.
>>>>> thanks.
>>>>>
>>>>
>>>> cool!
>>>> seems to fire off randomly over here.
>>>
>>> I have got AR5416, will try with that.
>>>
>>
>> I can try the bisect, but might take a while, since external
>> activities(job). Seems this is just starting i.g. with
>> 3.0.0-rc1 I never saw this, but with 3.0.0-rc7-00125-gf560f66
>> its making noise.
>
> I am unable to get this problem in my AR5416 :( will also try
> tomorrow. I am using the card for browsing etc.
> recently there were patches for hardware code changes.
> just a guess, please check does this patch helps(or is it already
> there). i think this will be called via
> ath_set_channel->ath9k_hw_reset->ath9k_hw_init_bb and may be
> https://patchwork.kernel.org/patch/957902/
>

alright, I applied the patch above, and have ran this a few days in 
various hotspots etc.. unfortunantly this patch does not fix the issue.
dmesg is below:
http://fpaste.org/ozCA/

from what I remember, I had all my clients doing their thing, then all 
of a sudden everything slowly started to crap out.

as for bisecting, I think this might take a while due to the 
inconsistancy of this(seems to show up every 4/5 boots etc..)but if I 
get some free time, I will have a try.

Justin P. Mattock

^ permalink raw reply

* (unknown)
From: Western Union® @ 2011-07-22  4:57 UTC (permalink / raw)



You have a transfer of £1,000,000.00. from Western Union® For more information(ContactThis
Office Email: western.unit46@w.cn)



^ permalink raw reply

* RE: Bridging behavior apparently changed around the Fedora 14 time
From: Greg Scott @ 2011-07-22  4:39 UTC (permalink / raw)
  To: netdev; +Cc: Lynn Hanson, Joe Whalen, Graham Parenteau, David Lamparter
In-Reply-To: <925A849792280C4E80C5461017A4B8A2A0413A@mail733.InfraSupportE tc.com>

> Whoa. And here I was almost ashamed of running 2.6.38. I'm sorry, but
I
> think you need to go bug RedHat.

Per your suggestion, I just put together a Red Hat bugzilla report and
documented the behavior to the best of my ability.  It's listed as bug
#724862 in bugzilla.redhat.com.

- Greg


^ permalink raw reply

* Re: [PATCH] can: make function can_get_bittiming static
From: David Miller @ 2011-07-22  4:35 UTC (permalink / raw)
  To: cascardo; +Cc: wg, netdev, linux-kernel, srcvale
In-Reply-To: <1311301351-5298-1-git-send-email-cascardo@holoscopio.com>

From: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Date: Thu, 21 Jul 2011 23:22:31 -0300

> The function can_get_bittiming is not used anywhere else, so it should be
> static.
> 
> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>

Applied.

^ permalink raw reply

* Re: [PATCH] net: Kobj and queues_kset should be used when CONFIG_XPS is enabled
From: David Miller @ 2011-07-22  4:34 UTC (permalink / raw)
  To: jhbird.choi; +Cc: netdev, linux-kernel
In-Reply-To: <1311229983-6081-1-git-send-email-jhbird.choi@samsung.com>

From: jhbird.choi@samsung.com
Date: Thu, 21 Jul 2011 15:33:03 +0900

> From: Choi, Jong-Hwan <jhbird.choi@samsung.com>
> 
> Kobj and queues_kset are used with CONFIG_XPS=y.
> 
> Signed-off-by: Choi, Jong-Hwan <jhbird.choi@samsung.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next] vmxnet3: fix publicity of NETIF_F_HIGHDMA
From: David Miller @ 2011-07-22  4:34 UTC (permalink / raw)
  To: sbhatewara; +Cc: netdev, pv-drivers
In-Reply-To: <alpine.LRH.2.00.1107202019060.27135@sbhatewara-dev1.eng.vmware.com>

From: Shreyas Bhatewara <sbhatewara@vmware.com>
Date: Wed, 20 Jul 2011 20:21:51 -0700 (PDT)

> NETIF_F_HIGHDMA is being disabled even when dma64 is true. This patch fixes it.
> 
> CC: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
> Signed-off-by: Shreyas N Bhatewara <sbhatewara@vmware.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next] vmxnet3: set netdev parant device before calling netdev_info
From: David Miller @ 2011-07-22  4:34 UTC (permalink / raw)
  To: sbhatewara; +Cc: netdev, pv-drivers
In-Reply-To: <alpine.LRH.2.00.1107201834220.19334@sbhatewara-dev1.eng.vmware.com>

From: Shreyas Bhatewara <sbhatewara@vmware.com>
Date: Wed, 20 Jul 2011 19:01:11 -0700 (PDT)

> 
> Parent device for netdev should be set before netdev_info() can be called
> otherwise there is a NULL pointer dereference and probe() fails.
> 
> Signed-off-by: Shreyas N Bhatewara <sbhatewara@vmware.com>

Applied.

^ permalink raw reply

* Re: [PATCH] ASIX: Add AX88772B USB ID
From: David Miller @ 2011-07-22  4:34 UTC (permalink / raw)
  To: marek.vasut; +Cc: linux-kernel, netdev, linux-usb, gregkh
In-Reply-To: <1311177424-19308-1-git-send-email-marek.vasut@gmail.com>

From: Marek Vasut <marek.vasut@gmail.com>
Date: Wed, 20 Jul 2011 17:57:04 +0200

> This device can be found in Acer Iconia TAB W500 tablet dock.
> 
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>

Applied.

^ permalink raw reply

* Re: [PATCH NEXT 1/1] netxen: add fw version compatibility check
From: David Miller @ 2011-07-22  4:33 UTC (permalink / raw)
  To: amit.salecha; +Cc: netdev, ameen.rahman
In-Reply-To: <1311156533-24014-1-git-send-email-amit.salecha@qlogic.com>

From: <amit.salecha@qlogic.com>
Date: Wed, 20 Jul 2011 03:08:53 -0700

> From: Amit Kumar Salecha <amit.salecha@qlogic.com>
> 
> o Minimum fw version supported for P3 chip is 4.0.505
> o File Fw > 4.0.554 is not supported if flash fw < 4.0.554.
> o In mn firmware case, file fw older than flash fw is allowed.
> o Change variable names for readability
> o Update driver version 4.0.76
> 
> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6] be2net: request native mode each time the card is reset
From: David Miller @ 2011-07-22  4:33 UTC (permalink / raw)
  To: sathya.perla; +Cc: netdev
In-Reply-To: <1311141153-13272-1-git-send-email-sathya.perla@emulex.com>

From: Sathya Perla <sathya.perla@emulex.com>
Date: Wed, 20 Jul 2011 11:22:33 +0530

> Currently be3-native mode is requested only in probe(). It must be requested, each time the card is reset either after an EEH error or after
> sleep/hibernation.
> Also, the be_cmd_check_native_mode() is better named be_cmd_req_native_mode()
> 
> Signed-off-by: Sathya Perla <sathya.perla@emulex.com>

Applied.

^ permalink raw reply

* Re: [PATCH] Constrain UFO fragment sizes to multiples of 8 bytes
From: David Miller @ 2011-07-22  4:32 UTC (permalink / raw)
  To: maze; +Cc: wsommerfeld, netdev, therbert
In-Reply-To: <CANP3RGdBTXf1+mwJXEW7Nv_jENE_SP00h2W4d05Ki6JT-5LpvQ@mail.gmail.com>

From: Maciej Żenczykowski <maze@google.com>
Date: Tue, 19 Jul 2011 18:30:22 -0700

> Ack.
> This should probably make it into all manner of stable branches.

Applied and queued up for -stable.

^ permalink raw reply

* Re: [net-next 00/10][pull request] Intel Wired LAN Driver Update
From: Jeff Kirsher @ 2011-07-22  4:31 UTC (permalink / raw)
  To: David Miller
  Cc: netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com
In-Reply-To: <20110721.203921.500337781144914240.davem@davemloft.net>

[-- Attachment #1: Type: text/plain, Size: 576 bytes --]

On Thu, 2011-07-21 at 20:39 -0700, David Miller wrote:
> This breaks the build:
> 
> drivers/net/ixgbe/ixgbe_main.c: In function ‘ixgbe_clean_rx_irq’:
> drivers/net/ixgbe/ixgbe_main.c:1458:3: error: implicit declaration of function ‘xgbe_rx_is_fcoe’ [-Werror=implicit-function-declaration]
> 
> The only function with a similar name is ixgbe_rx_is_fcoe().
> 
> I can't see how this was build tested.

This was my fault, while reviewing the patches to send, I accidentally
deleted the "i" in ixgbe_rx_is_fcoe().  This was after I did my compile
testing.


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* Re: [PATCH repost] Fix panic in virtnet_remove
From: David Miller @ 2011-07-22  4:29 UTC (permalink / raw)
  To: mst; +Cc: krkumar2, rusty, netdev, linux-kernel, virtualization, shemminger
In-Reply-To: <20110720143115.GB6787@redhat.com>

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: Wed, 20 Jul 2011 17:31:15 +0300

> On Wed, Jul 20, 2011 at 07:26:02PM +0530, Krishna Kumar wrote:
>> Fix a panic in virtnet_remove. unregister_netdev has already
>> freed up the netdev (and virtnet_info) due to dev->destructor
>> being set, while virtnet_info is still required. Remove
>> virtnet_free altogether, and move the freeing of the per-cpu
>> statistics from virtnet_free to virtnet_remove.
>> 
>> Tested patch below.
>> 
>> Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
> 
> Also note that the crash was apparently introduced by
> 3fa2a1df909482cc234524906e4bd30dee3514df in net-next,
> so this is a net-next only patch.
> 
> Stephen, was there any special reason to free the memory
> in the destructor like you did?
> 
> Acked-by: Michael S. Tsirkin <mst@redhat.com>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6] ipv6: make fragment identifications less predictable
From: David Miller @ 2011-07-22  4:26 UTC (permalink / raw)
  To: eric.dumazet; +Cc: fernando, security, eugeneteo, netdev, mpm
In-Reply-To: <1311108423.3113.24.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 19 Jul 2011 22:47:03 +0200

> IPv6 fragment identification generation is way beyond what we use for
> IPv4 : It uses a single generator. Its not scalable and allows DOS
> attacks.
> 
> Now inetpeer is IPv6 aware, we can use it to provide a more secure and
> scalable frag ident generator (per destination, instead of system wide)
> 
> This patch :
> 1) defines a new secure_ipv6_id() helper
> 2) extends inet_getid() to provide 32bit results
> 3) extends ipv6_select_ident() with a new dest parameter
> 
> Reported-by: Fernando Gont <fernando@gont.com.ar>
> CC: Matt Mackall <mpm@selenic.com>
> CC: Eugene Teo <eugeneteo@kernel.sg>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied, and I'll queue up your backport-friendly version for -stable.

^ permalink raw reply

* Re: [BUG] ipv6: all routes share same inetpeer
From: David Miller @ 2011-07-22  4:25 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev
In-Reply-To: <1311142716.3113.104.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 20 Jul 2011 08:18:36 +0200

> Le mercredi 20 juillet 2011 à 07:29 +0200, Eric Dumazet a écrit :
> 
>> My first patch had an issue in rt6_alloc_cow(), line 710, where 
>> ipv6_addr_equal(&rt->rt6i_dst.addr, daddr) becomes always true.
>> 
>> I guess I can replace it by ipv6_addr_equal(&ort->rt6i_dst.addr, daddr)
>> 
>> 
> 
> Here the combo patch I tested :
> 
> I also had to solve the icmp6_dst_alloc() problem
> [it uses dst_metric_set(&rt->dst, RTAX_HOPLIMIT, 255);]
> 
> Note : this is based on net-2.6, but I really tested it on net-next-2.6
> (with the frag ident patch applied too)
> 
> [PATCH] ipv6: unshare inetpeers

I applied this to net-next and queued it up for -stable, thanks!

^ permalink raw reply

* linux-next: manual merge of the trivial tree with the net tree
From: Stephen Rothwell @ 2011-07-22  4:18 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: linux-next, linux-kernel, Phil Carmody, Francois Romieu,
	David Miller, netdev

Hi Jiri,

Today's linux-next merge of the trivial tree got a conflict in
drivers/net/r8169.c between commit b6ffd97f5bcf ("r8169: move the
firmware down into the device private data") (and others) from the net
tree and commit 497888cf69bf ("treewide: fix potentially dangerous
trailing ';' in
#defined values/expressions") from the trivial tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/net/r8169.c
index 40bcb82,6f36306..0000000
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@@ -682,19 -666,8 +682,19 @@@ struct rtl8169_private 
  	struct rtl8169_counters counters;
  	u32 saved_wolopts;
  
 -	const struct firmware *fw;
 +	struct rtl_fw {
 +		const struct firmware *fw;
 +
 +#define RTL_VER_SIZE		32
 +
 +		char version[RTL_VER_SIZE];
 +
 +		struct rtl_fw_phy_action {
 +			__le32 *code;
 +			size_t size;
 +		} phy_action;
 +	} *rtl_fw;
- #define RTL_FIRMWARE_UNKNOWN	ERR_PTR(-EAGAIN);
+ #define RTL_FIRMWARE_UNKNOWN	ERR_PTR(-EAGAIN)
  };
  
  MODULE_AUTHOR("Realtek and the Linux r8169 crew <netdev@vger.kernel.org>");

^ permalink raw reply

* [PATCH] correct_error_code.patch
From: Bin Li @ 2011-07-22  4:03 UTC (permalink / raw)
  To: netdev

Hi,

The issue is came from https://bugzilla.novell.com/show_bug.cgi?id=681952.

In any previous version (since suse ... 10.0?), ip addr add always returned
the error code 2 in case the ip address is already set on the interface:

# ip a s dev bond0 | grep 172
    inet 172.16.2.3/24 brd 172.16.2.255 scope global bond0
# ip a a 172.16.2.3/24 dev bond0 ; echo $?
RTNETLINK answers: File exists
2

On 11.4, it returns the exit code 254:

# ip a s dev eth0 | grep 172
    inet 172.16.1.1/24 brd 172.16.1.255 scope global eth0
# ip addr add 172.16.1.1/24 dev eth0 ; echo $?
RTNETLINK answers: File exists
254

This of course causes ifup to return an error in this quite common case...

And I found it caused by commit 1db61e022d5f4318b9b236fef48be48a65e00878
-----------------------------------------------------------------------------------------------------
commit 1db61e022d5f4318b9b236fef48be48a65e00878
Author: Michele Petrazzo - Unipex <michele.petrazzo@unipex.it>
Date:   Sat Mar 6 08:56:53 2010 +0000

    Continue after errors in -batch

    Allow ip to process all the file passed with the -batch argument when
    is passed also the -force switch

    Signed-off-by: Michele Petrazzo <michele.petrazzo@unipex.it>

diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index 3186f9c..48f7b1e 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -1039,7 +1039,7 @@ static int ipaddr_modify(int cmd, int flags, int argc,
char **argv)
        }
        if (l && matches(d, l) != 0) {
                fprintf(stderr, "\"dev\" (%s) must match \"label\" (%s).\n", d,
l);
-               exit(1);
+               return -1;
        }

        if (peer_len == 0 && local_len) {
@@ -1104,7 +1104,7 @@ static int ipaddr_modify(int cmd, int flags, int argc,
char **argv)
        }

        if (rtnl_talk(&rth, &req.n, 0, 0, NULL, NULL, NULL) < 0)
-               exit(2);
+               return -2;

        return 0;
 }
-----------------------------------------------------------------------------------------------------

The fix to not exit seems to be correct to continue in batch mode, but
it (is incomplete and) breaks the normal operations because main does
not catch this change.

And we made patch for it.

-----------------------------------------------------------------------------------------------------
diff --git a/ip/ip.c b/ip/ip.c
index 7f0c468..75bc830 100644
--- a/ip/ip.c
+++ b/ip/ip.c
@@ -145,6 +145,7 @@ static int batch(const char *name)
 int main(int argc, char **argv)
 {
        char *basename;
+       int ret = 0;

        basename = strrchr(argv[0], '/');
        if (basename == NULL)
@@ -247,17 +248,29 @@ int main(int argc, char **argv)

        _SL_ = oneline ? "\\" : "\n" ;

-       if (batch_file)
-               return batch(batch_file);
+       if (batch_file) {
+               ret = batch(batch_file);
+               if (ret < 0)
+                       ret = -ret;
+               exit(ret);
+       }

        if (rtnl_open(&rth, 0) < 0)
                exit(1);

-       if (strlen(basename) > 2)
-               return do_cmd(basename+2, argc, argv);
+       if (strlen(basename) > 2) {
+               ret = do_cmd(basename+2, argc, argv);
+               if (ret < 0)
+                       ret = -ret;
+               exit(ret);
+       }

-       if (argc > 1)
-               return do_cmd(argv[1], argc-1, argv+1);
+       if (argc > 1) {
+               ret = do_cmd(argv[1], argc-1, argv+1);
+               if (ret < 0)
+                       ret = -ret;
+               exit(ret);
+       }

        rtnl_close(&rth);
        usage();

-----------------------------------------------------------------------------------------------------

What to do with this problem as it would make sense to make the error
codes "stable" (again)?

BTW, how to join this mailinglist?

Sincerely Yours,

Bin Li

http://zh.opensuse.org

^ permalink raw reply related

* Re: [net-next 00/10][pull request] Intel Wired LAN Driver Update
From: David Miller @ 2011-07-22  3:39 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
In-Reply-To: <1311300078-12876-1-git-send-email-jeffrey.t.kirsher@intel.com>


This breaks the build:

drivers/net/ixgbe/ixgbe_main.c: In function ‘ixgbe_clean_rx_irq’:
drivers/net/ixgbe/ixgbe_main.c:1458:3: error: implicit declaration of function ‘xgbe_rx_is_fcoe’ [-Werror=implicit-function-declaration]

The only function with a similar name is ixgbe_rx_is_fcoe().

I can't see how this was build tested.

^ permalink raw reply

* GIT tree names 's/-2.6//'
From: David Miller @ 2011-07-22  3:26 UTC (permalink / raw)
  To: netdev; +Cc: sfr


The GIT trees for network development will now just be
called just plain "net.git" and "net-next.git"

I have symlinks installed so the old net-2.6.git and
net-next-2.6.git paths still work, but eventually I'd
like to remove them.

It's pretty easy to change the URL in .git/config of any
trees you have checked out, or in any scripts you use to
fetch from my trees.

Thanks.

^ permalink raw reply

* Re: [PATCH v2 0/3] Add device tree probe support for imx fec driver
From: David Miller @ 2011-07-22  3:19 UTC (permalink / raw)
  To: shawn.guo
  Cc: patches, netdev, devicetree-discuss, grant.likely, shawn.guo,
	linux-arm-kernel
In-Reply-To: <20110722020818.GF26837@S2100-06.ap.freescale.net>

From: Shawn Guo <shawn.guo@freescale.com>
Date: Fri, 22 Jul 2011 10:08:19 +0800

> David, I assume I can add your acks to all 3 patches, otherwise
> please let me know.

Yes, you can.

^ permalink raw reply

* [PATCH] can: make function can_get_bittiming static
From: Thadeu Lima de Souza Cascardo @ 2011-07-22  2:22 UTC (permalink / raw)
  To: Wolfgang Grandegger
  Cc: netdev, linux-kernel, srcvale, Thadeu Lima de Souza Cascardo

The function can_get_bittiming is not used anywhere else, so it should be
static.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
---
 drivers/net/can/dev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
index d0f8c7e..9bf1116 100644
--- a/drivers/net/can/dev.c
+++ b/drivers/net/can/dev.c
@@ -208,7 +208,7 @@ static int can_fixup_bittiming(struct net_device *dev, struct can_bittiming *bt)
 	return 0;
 }
 
-int can_get_bittiming(struct net_device *dev, struct can_bittiming *bt)
+static int can_get_bittiming(struct net_device *dev, struct can_bittiming *bt)
 {
 	struct can_priv *priv = netdev_priv(dev);
 	int err;
-- 
1.7.5.4

^ permalink raw reply related

* Re: Reply...
From: Young Chang @ 2011-07-21 22:37 UTC (permalink / raw)


Compliment of the day,
I'm Mr. Young Chang, I work with the Mevas Bank bank here in Hong Kong. I
have a business proposal that i will like you to handle with me from my bank
worth $19.7million. This however is not mandatory nor will I in any manner
compel you to honor against your will. If interested, kindly get back to
me for more details


^ permalink raw reply

* [net-next 10/10] ixgbe: convert to ndo_fix_features
From: Jeff Kirsher @ 2011-07-22  2:01 UTC (permalink / raw)
  To: davem; +Cc: Don Skidmore, netdev, gospo, sassmann, Michal Miroslaw,
	Jeff Kirsher
In-Reply-To: <1311300078-12876-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Don Skidmore <donald.c.skidmore@intel.com>

Private rx_csum flags are now duplicate of netdev->features &
NETIF_F_RXCSUM.  We remove those duplicates and now use the net_device_ops
ndo_set_features.  This was based on the original patch submitted by
Michal Miroslaw <mirq-linux@rere.qmqm.pl>.  I also removed the special
case not requiring a reset for X540 hardware.  It is needed just as it is
in 82599 hardware.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Cc:  Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ixgbe/ixgbe.h         |    5 +-
 drivers/net/ixgbe/ixgbe_ethtool.c |  188 -------------------------------------
 drivers/net/ixgbe/ixgbe_main.c    |  135 +++++++++++++++++++++-----
 3 files changed, 111 insertions(+), 217 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h
index 0d610c7..e04a8e4 100644
--- a/drivers/net/ixgbe/ixgbe.h
+++ b/drivers/net/ixgbe/ixgbe.h
@@ -587,13 +587,10 @@ extern s32 ixgbe_fdir_erase_perfect_filter_82599(struct ixgbe_hw *hw,
 						 u16 soft_id);
 extern void ixgbe_atr_compute_perfect_hash_82599(union ixgbe_atr_input *input,
 						 union ixgbe_atr_input *mask);
-extern void ixgbe_configure_rscctl(struct ixgbe_adapter *adapter,
-                                   struct ixgbe_ring *ring);
-extern void ixgbe_clear_rscctl(struct ixgbe_adapter *adapter,
-                               struct ixgbe_ring *ring);
 extern void ixgbe_set_rx_mode(struct net_device *netdev);
 extern int ixgbe_setup_tc(struct net_device *dev, u8 tc);
 extern void ixgbe_tx_ctxtdesc(struct ixgbe_ring *, u32, u32, u32, u32);
+extern void ixgbe_do_reset(struct net_device *netdev);
 #ifdef IXGBE_FCOE
 extern void ixgbe_configure_fcoe(struct ixgbe_adapter *adapter);
 extern int ixgbe_fso(struct ixgbe_ring *tx_ring, struct sk_buff *skb,
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c
index 6035cfa..dc64955 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -442,109 +442,6 @@ static int ixgbe_set_pauseparam(struct net_device *netdev,
 	return 0;
 }
 
-static void ixgbe_do_reset(struct net_device *netdev)
-{
-	struct ixgbe_adapter *adapter = netdev_priv(netdev);
-
-	if (netif_running(netdev))
-		ixgbe_reinit_locked(adapter);
-	else
-		ixgbe_reset(adapter);
-}
-
-static u32 ixgbe_get_rx_csum(struct net_device *netdev)
-{
-	struct ixgbe_adapter *adapter = netdev_priv(netdev);
-	return adapter->flags & IXGBE_FLAG_RX_CSUM_ENABLED;
-}
-
-static void ixgbe_set_rsc(struct ixgbe_adapter *adapter)
-{
-	int i;
-
-	for (i = 0; i < adapter->num_rx_queues; i++) {
-		struct ixgbe_ring *ring = adapter->rx_ring[i];
-		if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED) {
-			set_ring_rsc_enabled(ring);
-			ixgbe_configure_rscctl(adapter, ring);
-		} else {
-			ixgbe_clear_rscctl(adapter, ring);
-		}
-	}
-}
-
-static int ixgbe_set_rx_csum(struct net_device *netdev, u32 data)
-{
-	struct ixgbe_adapter *adapter = netdev_priv(netdev);
-	bool need_reset = false;
-
-	if (data) {
-		adapter->flags |= IXGBE_FLAG_RX_CSUM_ENABLED;
-	} else {
-		adapter->flags &= ~IXGBE_FLAG_RX_CSUM_ENABLED;
-
-		if (adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE) {
-			adapter->flags2 &= ~IXGBE_FLAG2_RSC_ENABLED;
-			netdev->features &= ~NETIF_F_LRO;
-		}
-
-		switch (adapter->hw.mac.type) {
-		case ixgbe_mac_X540:
-			ixgbe_set_rsc(adapter);
-			break;
-		case ixgbe_mac_82599EB:
-			need_reset = true;
-			break;
-		default:
-			break;
-		}
-	}
-
-	if (need_reset)
-		ixgbe_do_reset(netdev);
-
-	return 0;
-}
-
-static u32 ixgbe_get_tx_csum(struct net_device *netdev)
-{
-	return (netdev->features & NETIF_F_IP_CSUM) != 0;
-}
-
-static int ixgbe_set_tx_csum(struct net_device *netdev, u32 data)
-{
-	struct ixgbe_adapter *adapter = netdev_priv(netdev);
-	u32 feature_list;
-
-	feature_list = (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM);
-	switch (adapter->hw.mac.type) {
-	case ixgbe_mac_82599EB:
-	case ixgbe_mac_X540:
-		feature_list |= NETIF_F_SCTP_CSUM;
-		break;
-	default:
-		break;
-	}
-	if (data)
-		netdev->features |= feature_list;
-	else
-		netdev->features &= ~feature_list;
-
-	return 0;
-}
-
-static int ixgbe_set_tso(struct net_device *netdev, u32 data)
-{
-	if (data) {
-		netdev->features |= NETIF_F_TSO;
-		netdev->features |= NETIF_F_TSO6;
-	} else {
-		netdev->features &= ~NETIF_F_TSO;
-		netdev->features &= ~NETIF_F_TSO6;
-	}
-	return 0;
-}
-
 static u32 ixgbe_get_msglevel(struct net_device *netdev)
 {
 	struct ixgbe_adapter *adapter = netdev_priv(netdev);
@@ -2289,81 +2186,6 @@ static int ixgbe_set_coalesce(struct net_device *netdev,
 	return 0;
 }
 
-static int ixgbe_set_flags(struct net_device *netdev, u32 data)
-{
-	struct ixgbe_adapter *adapter = netdev_priv(netdev);
-	bool need_reset = false;
-	int rc;
-
-#ifdef CONFIG_IXGBE_DCB
-	if ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
-	    !(data & ETH_FLAG_RXVLAN))
-		return -EINVAL;
-#endif
-
-	need_reset = (data & ETH_FLAG_RXVLAN) !=
-		     (netdev->features & NETIF_F_HW_VLAN_RX);
-
-	if ((data & ETH_FLAG_RXHASH) &&
-	    !(adapter->flags & IXGBE_FLAG_RSS_ENABLED))
-		return -EOPNOTSUPP;
-
-	rc = ethtool_op_set_flags(netdev, data, ETH_FLAG_LRO | ETH_FLAG_NTUPLE |
-				  ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN |
-				  ETH_FLAG_RXHASH);
-	if (rc)
-		return rc;
-
-	/* if state changes we need to update adapter->flags and reset */
-	if ((adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE) &&
-	    (!!(data & ETH_FLAG_LRO) !=
-	     !!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED))) {
-		if ((data & ETH_FLAG_LRO) &&
-		    (!adapter->rx_itr_setting ||
-		     (adapter->rx_itr_setting > IXGBE_MAX_RSC_INT_RATE))) {
-			e_info(probe, "rx-usecs set too low, "
-				      "not enabling RSC.\n");
-		} else {
-			adapter->flags2 ^= IXGBE_FLAG2_RSC_ENABLED;
-			switch (adapter->hw.mac.type) {
-			case ixgbe_mac_X540:
-				ixgbe_set_rsc(adapter);
-				break;
-			case ixgbe_mac_82599EB:
-				need_reset = true;
-				break;
-			default:
-				break;
-			}
-		}
-	}
-
-	/*
-	 * Check if Flow Director n-tuple support was enabled or disabled.  If
-	 * the state changed, we need to reset.
-	 */
-	if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)) {
-		/* turn off ATR, enable perfect filters and reset */
-		if (data & ETH_FLAG_NTUPLE) {
-			adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
-			adapter->flags |= IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
-			need_reset = true;
-		}
-	} else if (!(data & ETH_FLAG_NTUPLE)) {
-		/* turn off Flow Director, set ATR and reset */
-		adapter->flags &= ~IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
-		if ((adapter->flags & IXGBE_FLAG_RSS_ENABLED) &&
-		    !(adapter->flags & IXGBE_FLAG_DCB_ENABLED))
-			adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
-		need_reset = true;
-	}
-
-	if (need_reset)
-		ixgbe_do_reset(netdev);
-
-	return 0;
-}
-
 static int ixgbe_get_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
 					struct ethtool_rxnfc *cmd)
 {
@@ -2746,16 +2568,8 @@ static const struct ethtool_ops ixgbe_ethtool_ops = {
 	.set_ringparam          = ixgbe_set_ringparam,
 	.get_pauseparam         = ixgbe_get_pauseparam,
 	.set_pauseparam         = ixgbe_set_pauseparam,
-	.get_rx_csum            = ixgbe_get_rx_csum,
-	.set_rx_csum            = ixgbe_set_rx_csum,
-	.get_tx_csum            = ixgbe_get_tx_csum,
-	.set_tx_csum            = ixgbe_set_tx_csum,
-	.get_sg                 = ethtool_op_get_sg,
-	.set_sg                 = ethtool_op_set_sg,
 	.get_msglevel           = ixgbe_get_msglevel,
 	.set_msglevel           = ixgbe_set_msglevel,
-	.get_tso                = ethtool_op_get_tso,
-	.set_tso                = ixgbe_set_tso,
 	.self_test              = ixgbe_diag_test,
 	.get_strings            = ixgbe_get_strings,
 	.set_phys_id            = ixgbe_set_phys_id,
@@ -2763,8 +2577,6 @@ static const struct ethtool_ops ixgbe_ethtool_ops = {
 	.get_ethtool_stats      = ixgbe_get_ethtool_stats,
 	.get_coalesce           = ixgbe_get_coalesce,
 	.set_coalesce           = ixgbe_set_coalesce,
-	.get_flags              = ethtool_op_get_flags,
-	.set_flags              = ixgbe_set_flags,
 	.get_rxnfc		= ixgbe_get_rxnfc,
 	.set_rxnfc		= ixgbe_set_rxnfc,
 };
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 3f1715b..703cd6b 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2862,28 +2862,11 @@ static void ixgbe_setup_mrqc(struct ixgbe_adapter *adapter)
 }
 
 /**
- * ixgbe_clear_rscctl - disable RSC for the indicated ring
- * @adapter: address of board private structure
- * @ring: structure containing ring specific data
- **/
-void ixgbe_clear_rscctl(struct ixgbe_adapter *adapter,
-                        struct ixgbe_ring *ring)
-{
-	struct ixgbe_hw *hw = &adapter->hw;
-	u32 rscctrl;
-	u8 reg_idx = ring->reg_idx;
-
-	rscctrl = IXGBE_READ_REG(hw, IXGBE_RSCCTL(reg_idx));
-	rscctrl &= ~IXGBE_RSCCTL_RSCEN;
-	IXGBE_WRITE_REG(hw, IXGBE_RSCCTL(reg_idx), rscctrl);
-}
-
-/**
  * ixgbe_configure_rscctl - enable RSC for the indicated ring
  * @adapter:    address of board private structure
  * @index:      index of ring to set
  **/
-void ixgbe_configure_rscctl(struct ixgbe_adapter *adapter,
+static void ixgbe_configure_rscctl(struct ixgbe_adapter *adapter,
 				   struct ixgbe_ring *ring)
 {
 	struct ixgbe_hw *hw = &adapter->hw;
@@ -7122,6 +7105,98 @@ int ixgbe_setup_tc(struct net_device *dev, u8 tc)
 	return 0;
 }
 
+void ixgbe_do_reset(struct net_device *netdev)
+{
+	struct ixgbe_adapter *adapter = netdev_priv(netdev);
+
+	if (netif_running(netdev))
+		ixgbe_reinit_locked(adapter);
+	else
+		ixgbe_reset(adapter);
+}
+
+static u32 ixgbe_fix_features(struct net_device *netdev, u32 data)
+{
+	struct ixgbe_adapter *adapter = netdev_priv(netdev);
+
+#ifdef CONFIG_DCB
+	if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
+		data &= ~NETIF_F_HW_VLAN_RX;
+#endif
+
+	/* return error if RXHASH is being enabled when RSS is not supported */
+	if (!(adapter->flags & IXGBE_FLAG_RSS_ENABLED))
+		data &= ~NETIF_F_RXHASH;
+
+	/* If Rx checksum is disabled, then RSC/LRO should also be disabled */
+	if (!(data & NETIF_F_RXCSUM))
+		data &= ~NETIF_F_LRO;
+
+	/* Turn off LRO if not RSC capable or invalid ITR settings */
+	if (!(adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE)) {
+		data &= ~NETIF_F_LRO;
+	} else if (!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED) &&
+		   (adapter->rx_itr_setting != 1 &&
+		    adapter->rx_itr_setting > IXGBE_MAX_RSC_INT_RATE)) {
+		data &= ~NETIF_F_LRO;
+		e_info(probe, "rx-usecs set too low, not enabling RSC\n");
+	}
+
+	return data;
+}
+
+static int ixgbe_set_features(struct net_device *netdev, u32 data)
+{
+	struct ixgbe_adapter *adapter = netdev_priv(netdev);
+	bool need_reset = false;
+
+	/* If Rx checksum is disabled, then RSC/LRO should also be disabled */
+	if (!(data & NETIF_F_RXCSUM))
+		adapter->flags &= ~IXGBE_FLAG_RX_CSUM_ENABLED;
+	else
+		adapter->flags |= IXGBE_FLAG_RX_CSUM_ENABLED;
+
+	/* Make sure RSC matches LRO, reset if change */
+	if (!!(data & NETIF_F_LRO) !=
+	     !!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)) {
+		adapter->flags2 ^= IXGBE_FLAG2_RSC_ENABLED;
+		switch (adapter->hw.mac.type) {
+		case ixgbe_mac_X540:
+		case ixgbe_mac_82599EB:
+			need_reset = true;
+			break;
+		default:
+			break;
+		}
+	}
+
+	/*
+	 * Check if Flow Director n-tuple support was enabled or disabled.  If
+	 * the state changed, we need to reset.
+	 */
+	if (!(adapter->flags & IXGBE_FLAG_FDIR_PERFECT_CAPABLE)) {
+		/* turn off ATR, enable perfect filters and reset */
+		if (data & NETIF_F_NTUPLE) {
+			adapter->flags &= ~IXGBE_FLAG_FDIR_HASH_CAPABLE;
+			adapter->flags |= IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
+			need_reset = true;
+		}
+	} else if (!(data & NETIF_F_NTUPLE)) {
+		/* turn off Flow Director, set ATR and reset */
+		adapter->flags &= ~IXGBE_FLAG_FDIR_PERFECT_CAPABLE;
+		if ((adapter->flags &  IXGBE_FLAG_RSS_ENABLED) &&
+		    !(adapter->flags &  IXGBE_FLAG_DCB_ENABLED))
+			adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
+		need_reset = true;
+	}
+
+	if (need_reset)
+		ixgbe_do_reset(netdev);
+
+	return 0;
+
+}
+
 static const struct net_device_ops ixgbe_netdev_ops = {
 	.ndo_open		= ixgbe_open,
 	.ndo_stop		= ixgbe_close,
@@ -7153,6 +7228,8 @@ static const struct net_device_ops ixgbe_netdev_ops = {
 	.ndo_fcoe_disable = ixgbe_fcoe_disable,
 	.ndo_fcoe_get_wwn = ixgbe_fcoe_get_wwn,
 #endif /* IXGBE_FCOE */
+	.ndo_set_features = ixgbe_set_features,
+	.ndo_fix_features = ixgbe_fix_features,
 };
 
 static void __devinit ixgbe_probe_vf(struct ixgbe_adapter *adapter,
@@ -7420,20 +7497,24 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 
 	netdev->features = NETIF_F_SG |
 			   NETIF_F_IP_CSUM |
+			   NETIF_F_IPV6_CSUM |
 			   NETIF_F_HW_VLAN_TX |
 			   NETIF_F_HW_VLAN_RX |
-			   NETIF_F_HW_VLAN_FILTER;
+			   NETIF_F_HW_VLAN_FILTER |
+			   NETIF_F_TSO |
+			   NETIF_F_TSO6 |
+			   NETIF_F_GRO |
+			   NETIF_F_RXHASH |
+			   NETIF_F_RXCSUM;
 
-	netdev->features |= NETIF_F_IPV6_CSUM;
-	netdev->features |= NETIF_F_TSO;
-	netdev->features |= NETIF_F_TSO6;
-	netdev->features |= NETIF_F_GRO;
-	netdev->features |= NETIF_F_RXHASH;
+	netdev->hw_features = netdev->features;
 
 	switch (adapter->hw.mac.type) {
 	case ixgbe_mac_82599EB:
 	case ixgbe_mac_X540:
 		netdev->features |= NETIF_F_SCTP_CSUM;
+		netdev->hw_features |= NETIF_F_SCTP_CSUM |
+				       NETIF_F_NTUPLE;
 		break;
 	default:
 		break;
@@ -7472,6 +7553,8 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 		netdev->vlan_features |= NETIF_F_HIGHDMA;
 	}
 
+	if (adapter->flags2 & IXGBE_FLAG2_RSC_CAPABLE)
+		netdev->hw_features |= NETIF_F_LRO;
 	if (adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)
 		netdev->features |= NETIF_F_LRO;
 
@@ -7508,8 +7591,10 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 	if (err)
 		goto err_sw_init;
 
-	if (!(adapter->flags & IXGBE_FLAG_RSS_ENABLED))
+	if (!(adapter->flags & IXGBE_FLAG_RSS_ENABLED)) {
+		netdev->hw_features &= ~NETIF_F_RXHASH;
 		netdev->features &= ~NETIF_F_RXHASH;
+	}
 
 	switch (pdev->device) {
 	case IXGBE_DEV_ID_82599_SFP:
-- 
1.7.6


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox