From: Jeff Kirsher <hidden> Date: 2012-10-23 10:24:51
This series contains updates to e1000e, igb, ixgbevf and MAINTAINERS.
The following are changes since commit 598e74f32c6dd4b3dd0ed382c889be07a7c6cbc0:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Carolyn Wyborny (2):
igb: Update get cable length function for i210/i211
igb: Update version
Greg Rose (2):
ixgbevf: Check for error on dma_map_single call
ixgbevf: Update version string
Jesse Brandeburg (1):
maintainers: update with official intel support link, new maintainer
John Fastabend (2):
ixgbevf: make netif_napi_add and netif_napi_del symmetric
ixgbevf: fix softirq-safe to unsafe splat on internal mbx_lock
Tushar Dave (1):
e1000e: Minimum packet size must be 17 bytes
MAINTAINERS | 2 +
drivers/net/ethernet/intel/e1000e/netdev.c | 11 +++++
drivers/net/ethernet/intel/igb/e1000_phy.c | 20 ++++++++
drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 59 ++++++++++++-----------
5 files changed, 64 insertions(+), 30 deletions(-)
--
1.7.11.7
From: Jeff Kirsher <hidden> Date: 2012-10-23 10:24:51
From: Tushar Dave <redacted>
This is a HW requirement. Although a buffer as short as 1 byte is allowed,
the total length of packet before, padding and CRC insertion, must be at
least 17 bytes. So pad all small packets manually up to 17 bytes before
delivering them to HW.
Signed-off-by: Tushar Dave <redacted>
Tested-by: Jeff Pieper <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ethernet/intel/e1000e/netdev.c | 11 +++++++++++
1 file changed, 11 insertions(+)
From: Jeff Kirsher <hidden> Date: 2012-10-23 10:24:52
From: Jesse Brandeburg <redacted>
Add an official link which is designed to guide the user to the appropriate
support resource (be it community, OEM, Intel phone, Intel email, etc)
Add the current e1000 maintainer to the list of Intel maintainers.
Signed-off-by: Jesse Brandeburg <redacted>
Tested-by: Aaron Brown <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
MAINTAINERS | 2 ++
1 file changed, 2 insertions(+)
From: Jeff Kirsher <hidden> Date: 2012-10-23 10:24:52
From: Carolyn Wyborny <redacted>
There was a problem in the initial implementation of the get cable length
function for i210 and it did not work properly. This patch fixes that
problem for i210/i211 devices.
Signed-off-by: Carolyn Wyborny <redacted>
Tested-by: Aaron Brown <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ethernet/intel/igb/e1000_phy.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
@@ -1710,6 +1710,26 @@ s32 igb_get_cable_length_m88_gen2(struct e1000_hw *hw)switch(hw->phy.id){caseI210_I_PHY_ID:+/* Get cable length from PHY Cable Diagnostics Control Reg */+ret_val=phy->ops.read_reg(hw,(0x7<<GS40G_PAGE_SHIFT)++(I347AT4_PCDL+phy->addr),+&phy_data);+if(ret_val)+returnret_val;++/* Check if the unit of cable length is meters or cm */+ret_val=phy->ops.read_reg(hw,(0x7<<GS40G_PAGE_SHIFT)++I347AT4_PCDC,&phy_data2);+if(ret_val)+returnret_val;++is_cm=!(phy_data2&I347AT4_PCDC_CABLE_LENGTH_UNIT);++/* Populate the phy structure with cable length in meters */+phy->min_cable_length=phy_data/(is_cm?100:1);+phy->max_cable_length=phy_data/(is_cm?100:1);+phy->cable_length=phy_data/(is_cm?100:1);+break;caseI347AT4_E_PHY_ID:/* Remember the original page select and set it to 7 */ret_val=phy->ops.read_reg(hw,I347AT4_PAGE_SELECT,
From: Jeff Kirsher <hidden> Date: 2012-10-23 10:24:54
From: Greg Rose <redacted>
Ignoring the return value from a call to the kernel dma_map API functions
can cause data corruption and system instability. Check the return value
and take appropriate action.
Signed-off-by: Greg Rose <redacted>
Tested-by: Phil Schmitt <redacted>
Tested-by: Sibai Li <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
@@ -1138,12 +1138,12 @@ static int ixgbevf_vlan_rx_add_vid(struct net_device *netdev, u16 vid)if(!hw->mac.ops.set_vfta)return-EOPNOTSUPP;-spin_lock(&adapter->mbx_lock);+spin_lock_bh(&adapter->mbx_lock);/* add VID to filter table */err=hw->mac.ops.set_vfta(hw,vid,0,true);-spin_unlock(&adapter->mbx_lock);+spin_unlock_bh(&adapter->mbx_lock);/* translate error return types so error makes sense */if(err==IXGBE_ERR_MBX)
@@ -1163,13 +1163,13 @@ static int ixgbevf_vlan_rx_kill_vid(struct net_device *netdev, u16 vid)structixgbe_hw*hw=&adapter->hw;interr=-EOPNOTSUPP;-spin_lock(&adapter->mbx_lock);+spin_lock_bh(&adapter->mbx_lock);/* remove VID from filter table */if(hw->mac.ops.set_vfta)err=hw->mac.ops.set_vfta(hw,vid,0,false);-spin_unlock(&adapter->mbx_lock);+spin_unlock_bh(&adapter->mbx_lock);clear_bit(vid,adapter->active_vlans);
From: Joe Perches <joe@perches.com> Date: 2012-10-23 13:25:03
On Tue, 2012-10-23 at 03:24 -0700, Jeff Kirsher wrote:
From: Jesse Brandeburg <redacted>
Add an official link which is designed to guide the user to the appropriate
support resource (be it community, OEM, Intel phone, Intel email, etc)
Add the current e1000 maintainer to the list of Intel maintainers.
Hi Jeff.
I think it's unwise to have 10 named maintainers for all
the intel ethernet drivers if there are specialists
maintainers.
Maybe it'd be better to break out these sub-maintainers
into specific driver sections with you as the overall
maintainer.
Maybe add an internal exploder to get all the various
maintainers on a list if everyone really looks at all
patches to intel drivers.
Something like:
INTEL ETHERNET DRIVERS
M: Jeff Kirsher [off-list ref]
M: Intel Linux Support [off-list ref]
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
S: Supported
F: drivers/net/ethernet/intel/
INTEL ETHERNET E1000 DRIVER
M: Tushar Dave [off-list ref]
S: Supported
F: drivers/net/ethernet/intel/e1000/
F: Documentation/networking/e1000.txt
etc...
From: David Laight <hidden> Date: 2012-10-23 15:36:40
This is a HW requirement. Although a buffer as short as 1 byte is allowed,
the total length of packet before, padding and CRC insertion, must be at
least 17 bytes. So pad all small packets manually up to 17 bytes before
delivering them to HW.
Where do such very short packets come from?
The shortest one I know of have:
6 bytes dest-mac
6 bytes src-mac
2 bytes length
3 bytes llc header (eg reflect request).
17 bytes total.
David
From: Alexander Duyck <hidden> Date: 2012-10-23 17:07:18
On 10/23/2012 08:25 AM, David Laight wrote:
quoted
This is a HW requirement. Although a buffer as short as 1 byte is allowed,
the total length of packet before, padding and CRC insertion, must be at
least 17 bytes. So pad all small packets manually up to 17 bytes before
delivering them to HW.
Where do such very short packets come from?
The shortest one I know of have:
6 bytes dest-mac
6 bytes src-mac
2 bytes length
3 bytes llc header (eg reflect request).
17 bytes total.
David
This mostly has to do with security fuzz testers sending raw packets at
the interface trying to see what can cause it to hang. As far as I know
nothing from the stack will be that small, but we still have to support
raw packets that size.
Thanks,
Alex
From: David Miller <davem@davemloft.net> Date: 2012-10-23 17:28:15
From: Jeff Kirsher <redacted>
Date: Tue, 23 Oct 2012 03:24:39 -0700
This series contains updates to e1000e, igb, ixgbevf and MAINTAINERS.
The following are changes since commit 598e74f32c6dd4b3dd0ed382c889be07a7c6cbc0:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
From: Jeff Kirsher <hidden> Date: 2012-10-24 04:33:00
On Tue, 2012-10-23 at 06:25 -0700, Joe Perches wrote:
On Tue, 2012-10-23 at 03:24 -0700, Jeff Kirsher wrote:
quoted
From: Jesse Brandeburg <redacted>
Add an official link which is designed to guide the user to the appropriate
support resource (be it community, OEM, Intel phone, Intel email, etc)
Add the current e1000 maintainer to the list of Intel maintainers.
Hi Jeff.
I think it's unwise to have 10 named maintainers for all
the intel ethernet drivers if there are specialists
maintainers.
Maybe it'd be better to break out these sub-maintainers
into specific driver sections with you as the overall
maintainer.
Maybe add an internal exploder to get all the various
maintainers on a list if everyone really looks at all
patches to intel drivers.
Something like:
INTEL ETHERNET DRIVERS
M: Jeff Kirsher [off-list ref]
M: Intel Linux Support [off-list ref]
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
S: Supported
F: drivers/net/ethernet/intel/
INTEL ETHERNET E1000 DRIVER
M: Tushar Dave [off-list ref]
S: Supported
F: drivers/net/ethernet/intel/e1000/
F: Documentation/networking/e1000.txt
etc...
I understand where your coming from and this has been been something
that I have been trying to find a "reasonable" solution, which is harder
to do than one would expect.
We do have developers like Bruce Allan who maintains e1000e and Carolyn
Wyborny who maintains igb and Don Skidmore (and others) who maintain
ixgbe. The problem we did not want to fall into by pigeon holing
developers in maintaining a driver. Developers like John, Jesse, Alex,
and Tushar work on all of our drivers. Jesse tends to focus on
performance related matters, where as Tushar responds to customer issues
on any driver and does the root cause and fix for the issues.
So how do we go about giving this spider web of complex coverage to some
clear concise coverage in the MAINTAINERS?
For now, the solution was to list all the developers actively working on
the kernel drivers since anyone of them can work on pretty much anyone
of our drivers.
If you have some ideas which may help resolve the issues, I am open to
suggestions.
From: Joe Perches <joe@perches.com> Date: 2012-10-24 04:52:36
On Tue, 2012-10-23 at 21:32 -0700, Jeff Kirsher wrote:
On Tue, 2012-10-23 at 06:25 -0700, Joe Perches wrote:
quoted
On Tue, 2012-10-23 at 03:24 -0700, Jeff Kirsher wrote:
quoted
quoted
Add the current e1000 maintainer to the list of Intel maintainers.
quoted
Maybe add an internal exploder to get all the various
maintainers on a list if everyone really looks at all
patches to intel drivers.
quoted
INTEL ETHERNET DRIVERS
M: Jeff Kirsher [off-list ref]
M: Intel Linux Support [off-list ref]
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
S: Supported
F: drivers/net/ethernet/intel/
I understand where your coming from and this has been been something
that I have been trying to find a "reasonable" solution, which is harder
to do than one would expect.
[]
So how do we go about giving this spider web of complex coverage to some
clear concise coverage in the MAINTAINERS?
[]
If you have some ideas which may help resolve the issues, I am open to
suggestions.
It's great that they all work on all intel drivers, but it seems
that you are the nominal maintainer and they are all developers
that might work on anything but nothing in particular.
I think an internal exploder email address would work well.
From: Jeff Kirsher <hidden> Date: 2012-10-24 05:13:42
On Tue, 2012-10-23 at 21:52 -0700, Joe Perches wrote:
On Tue, 2012-10-23 at 21:32 -0700, Jeff Kirsher wrote:
quoted
On Tue, 2012-10-23 at 06:25 -0700, Joe Perches wrote:
quoted
On Tue, 2012-10-23 at 03:24 -0700, Jeff Kirsher wrote:
quoted
quoted
quoted
Add the current e1000 maintainer to the list of Intel maintainers.
quoted
quoted
Maybe add an internal exploder to get all the various
maintainers on a list if everyone really looks at all
patches to intel drivers.
quoted
quoted
INTEL ETHERNET DRIVERS
M: Jeff Kirsher [off-list ref]
M: Intel Linux Support [off-list ref]
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
S: Supported
F: drivers/net/ethernet/intel/
quoted
I understand where your coming from and this has been been something
that I have been trying to find a "reasonable" solution, which is harder
to do than one would expect.
[]
quoted
So how do we go about giving this spider web of complex coverage to some
clear concise coverage in the MAINTAINERS?
[]
quoted
If you have some ideas which may help resolve the issues, I am open to
suggestions.
It's great that they all work on all intel drivers, but it seems
that you are the nominal maintainer and they are all developers
that might work on anything but nothing in particular.
I think an internal exploder email address would work well.
That sounds good, I will discuss it with guys and figure it out.
Thanks!
From: Rick Jones <hidden> Date: 2012-10-24 17:31:08
On 10/23/2012 09:32 PM, Jeff Kirsher wrote:
So how do we go about giving this spider web of complex coverage to some
clear concise coverage in the MAINTAINERS?
I happen to like seeing "real" names. Is it possible to leverage email conventions to allow a comment of sorts with each email:
INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf)
M: Jeff Kirsher (den mother) [off-list ref]
M: Jesse Brandeburg (performance focus) [off-list ref]
M: Bruce Allan (e1000e focus) [off-list ref]
M: Carolyn Wyborny (igb focus) [off-list ref]
M: Don Skidmore (omnibus) [off-list ref]
M: Greg Rose (omnibus) [off-list ref]
M: Peter P Waskiewicz Jr (omnibus) [off-list ref]
M: Alex Duyck (omnibus) [off-list ref]
M: John Ronciak (omnibus) [off-list ref]
M: Tushar Dave (omnibus and rca) [off-list ref]
perhaps "any" or "all" rather than omnibus if that is too much a fifty-cent word. Everyone is still in one place, but with some indication of specialization/generalization. If the parenthesis form cannot be used, (I've not seen it elsewhere in MAINTAINERS) then perhaps the quoted form.
rick jones
(And yes, "den mother" was meant as a bit of levity :)