From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arthur Marsh Subject: eth0: set_features() failed (-1); wanted 0x0000000000004000, left 0x0000000000004800 Date: Sat, 14 Nov 2015 13:46:52 +1030 Message-ID: <5646A7A4.2070808@internode.on.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080407040606020802090807" Cc: "David S. Miller" , Eric Dumazet , Jay Vosburgh , Veaceslav Falico , Andy Gospodarek , Jiri Pirko , Nikolay Aleksandrov , Michal Kubecek , Alexander Duyck , Linux Networking Developer Mailing List To: Jarod Wilson Return-path: Received: from ipmail04.adl6.internode.on.net ([150.101.137.141]:42995 "EHLO ipmail04.adl6.internode.on.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751437AbbKNDRT (ORCPT ); Fri, 13 Nov 2015 22:17:19 -0500 Sender: netdev-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------080407040606020802090807 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hi, I'm not sure if this is an actual error or just an informational message but on this pc (with a single-core AMD Athlon(tm) 64 Processor 3200+) I've been getting the following: Nov 13 18:16:12 localhost kernel: [ 0.938025] via-rhine 0000:00:12.0 eth0: set_features() failed (-1); wanted 0x0000000000004000, left 0x0000000000004800 Nov 13 18:16:12 localhost kernel: [ 0.938574] via-rhine 0000:00:12.0 eth0: VIA Rhine II at 0x1e000, 00:13:d4:cc:9b:57, IRQ 23 Nov 13 18:16:12 localhost kernel: [ 0.939418] via-rhine 0000:00:12.0 eth0: MII PHY found at address 1, status 0x786d advertising 01e1 Link 45e1 The Ethernet card still works nonetheless. git-bisect showed that the: eth0: set_features() failed (-1); wanted 0x0000000000004000, left 0x0000000000004800 messages started with the following commit: git bisect good e7868a85e1b26bcb2e71088841eec1d310a97ac9 is the first bad commit commit e7868a85e1b26bcb2e71088841eec1d310a97ac9 Author: Jarod Wilson Date: Tue Nov 3 23:09:32 2015 -0500 net/core: ensure features get disabled on new lower devs With moving netdev_sync_lower_features() after the .ndo_set_features calls, I neglected to verify that devices added *after* a flag had been disabled on an upper device were properly added with that flag disabled as well. This currently happens, because we exit __netdev_update_features() when we see dev->features == features for the upper dev. We can retain the optimization of leaving without calling .ndo_set_features with a bit of tweaking and a goto here. Fixes: fd867d51f889 ("net/core: generic support for disabling netdev feature s down stack") CC: "David S. Miller" CC: Eric Dumazet CC: Jay Vosburgh CC: Veaceslav Falico CC: Andy Gospodarek CC: Jiri Pirko CC: Nikolay Aleksandrov CC: Michal Kubecek CC: Alexander Duyck CC: netdev@vger.kernel.org Reported-by: Nikolay Aleksandrov Signed-off-by: Jarod Wilson Signed-off-by: David S. Miller :040000 040000 a0e2932a56d968706558a674f3e071de5e636fe1 af99ee2c01e95f0dbb46ad69 ed39e0f14a50aa2d M net The Ethernet card on this machine is identified as: # lspci -nnvv -s 0:0:12.0 00:12.0 Ethernet controller [0200]: VIA Technologies, Inc. VT6102/VT6103 [Rhine-II] [1106:3065] (rev 7c) Subsystem: ASUSTeK Computer Inc. A7V600-X Motherboard [1043:80ed] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR-