Package: linux / 3.2.78-1

Metadata

Package Version Patches format
linux 3.2.78-1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
features/all/wacom/0013 Input wacom fix 3rd gen Bamboo MT when 4 fingers are.patch | (download)

drivers/input/tablet/wacom_wac.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 input: wacom - fix 3rd-gen bamboo mt when 4+ fingers are in use

commit 19d57d3a145e94349abf805eed2316ef720d86c2 upstream.

The message count field uses three bits of storage, not two.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0014 Input wacom fix physical size calculation for 3rd ge.patch | (download)

drivers/input/tablet/wacom_sys.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 input: wacom - fix physical size calculation for 3rd-gen bamboo

commit 24e3e5ae1e4c2a3a32f5b1f96b4e3fd721806acd upstream.

This calculation determines the physical dimensions of the tablet,
used later on in calculate_touch_res to obtain the touch sensor
resolution.

Instead of dividing the logical size by the resolution, the current
code performs a multiplication. This doesn't pose a problem for the
3rd-gen Bamboo since the resolution and scale factor happen to be
identical, but will produce an incorrect result for other cases.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0015 Input wacom isolate input registration.patch | (download)

drivers/input/tablet/wacom_sys.c | 53 33 + 20 - 0 !
1 file changed, 33 insertions(+), 20 deletions(-)

 input: wacom - isolate input registration

commit 3aac0ef10bf5c76ba4262cfd9b044a6c067d5aae upstream.

Although this better co-locates input registration logic,
the main goal is to make it easier to optionally create
input devices or delay creation to later time periods.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Tested-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0016 Input wacom check for allocation failure in probe.patch | (download)

drivers/input/tablet/wacom_sys.c | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 input: wacom - check for allocation failure in probe()

commit f182394033d639679264d61e6dca62761e659ff7 upstream.

We accidentally removed the check for NULL in 3aac0ef10b "Input: wacom -
isolate input registration".

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
features/all/wacom/0017 Input wacom wireless monitor framework.patch | (download)

drivers/input/tablet/wacom_sys.c | 36 31 + 5 - 0 !
drivers/input/tablet/wacom_wac.c | 28 27 + 1 - 0 !
drivers/input/tablet/wacom_wac.h | 4 4 + 0 - 0 !
3 files changed, 62 insertions(+), 6 deletions(-)

 input: wacom - wireless monitor framework

commit d3825d51c3eddb8a3c7d1281f27181aff6db19b8 upstream.

The 3rd gen Bamboo Pen & Touch and Intuos5 tablets support an
optional wireless module. When its receiver is plugged into USB,
it presents 3 interfaces: 0) Monitor 1) Pen and 2) Touch.

The exact capabilities of the Pen and Touch interfaces can
not be determined until a tablet connection is established
and reported over the Monitor interface.

This patch detects this wireless receiver and enables interrupt
packets to be processed for the Monitor interface. Processing
the data in packets will be left to another patch.

Since it doesn't make sense to create an input device for the
Monitor interface, it is not created. Creation of Pen and Touch
input device is also delayed until monitor packets can be processed.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Tested-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0018 Input wacom create inputs when wireless connect.patch | (download)

drivers/input/tablet/wacom.h | 7 7 + 0 - 0 !
drivers/input/tablet/wacom_sys.c | 91 82 + 9 - 0 !
drivers/input/tablet/wacom_wac.c | 20 19 + 1 - 0 !
drivers/input/tablet/wacom_wac.h | 1 1 + 0 - 0 !
4 files changed, 109 insertions(+), 10 deletions(-)

 input: wacom - create inputs when wireless connect

commit 16bf288c4be67b68c3fcb6561ff145702cb7bd22 upstream.

When a tablet connect or disconnect is detected, schedule
work queue to register or unregister related input devices.

When a wireless tablet connects, it reports same USB PID
used if tablet is connected with USB cable. Use this to
update features values, set input capabilities, and then
register device.  From there, the Pen and Touch interfaces
will reuse the existing tablet's IRQ routines.

Its possible that 1 receiver is shared with 2 tablets with
features/all/wacom/0019 Input wacom wireless battery status.patch | (download)

drivers/input/tablet/Kconfig | 1 1 + 0 - 0 !
drivers/input/tablet/wacom.h | 2 2 + 0 - 0 !
drivers/input/tablet/wacom_sys.c | 57 56 + 1 - 0 !
drivers/input/tablet/wacom_wac.c | 5 4 + 1 - 0 !
drivers/input/tablet/wacom_wac.h | 1 1 + 0 - 0 !
5 files changed, 64 insertions(+), 2 deletions(-)

 input: wacom - wireless battery status

commit a1d552cc15b0be9124ccba593f99f59c4ec1e153 upstream.

Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Tested-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0020 Input wacom add basic Intuos5 support.patch | (download)

drivers/input/tablet/wacom_wac.c | 36 33 + 3 - 0 !
drivers/input/tablet/wacom_wac.h | 3 3 + 0 - 0 !
2 files changed, 36 insertions(+), 3 deletions(-)

 input: wacom - add basic intuos5 support

commit 9fee619505bdb202c9f54b58ec996884160cdbf2 upstream.

This patch adds support for the basic pen functions of Intuos5
tablets.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0021 Input wacom add Intuos5 Touch Ring ExpressKey suppor.patch | (download)

drivers/input/tablet/wacom_wac.c | 33 31 + 2 - 0 !
drivers/input/tablet/wacom_wac.h | 1 1 + 0 - 0 !
2 files changed, 32 insertions(+), 2 deletions(-)

 input: wacom - add intuos5 touch ring/expresskey support

commit f860e581fd473250c6dcbd3e13d576b6197e4694 upstream.

Intuos5 uses a new report type for Touch Ring and ExpressKey data.
Note that data from the capacitive sensors present on the ExpressKeys
will be ignored until a proper way is found to expose it.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0022 Input wacom add Intuos5 Touch Ring LED support.patch | (download)

Documentation/ABI/testing/sysfs-driver-wacom | 15 8 + 7 - 0 !
drivers/input/tablet/wacom_sys.c | 67 57 + 10 - 0 !
2 files changed, 65 insertions(+), 17 deletions(-)

 input: wacom - add intuos5 touch ring led support

commit 9b5b95dd516a13d53ecf9217672d2116f05097bc upstream.

features/all/wacom/0023 Input wacom add Intuos5 multitouch sensor support.patch | (download)

drivers/input/tablet/wacom_sys.c | 25 25 + 0 - 0 !
drivers/input/tablet/wacom_wac.c | 64 59 + 5 - 0 !
2 files changed, 84 insertions(+), 5 deletions(-)

 input: wacom - add intuos5 multitouch sensor support

commit ae584ca473289377dd7fd8c61439db4bfab5489a upstream.

Intuos5 tablets with PTH-* model numbers include a multitouch sensor
which use the same touch reports as the 3rd-generation Bamboo. No
useful information is in the HID descriptor for the touch interface
so hardcoded values are used during setup.

Signed-off-by: Jason Gerecke <killertofu@gmail.com>
features/all/wacom/0024 Input wacom retrieve maximum number of touch points.patch | (download)

drivers/input/tablet/wacom_sys.c | 29 28 + 1 - 0 !
drivers/input/tablet/wacom_wac.c | 59 36 + 23 - 0 !
drivers/input/tablet/wacom_wac.h | 1 1 + 0 - 0 !
3 files changed, 65 insertions(+), 24 deletions(-)

 input: wacom - retrieve maximum number of touch points

commit f393ee2b814e3291c12565000210b3cf10aa5c1d upstream.

>From the HID usage table when it is supported.

Tested-by: Jason Gerecke <killertofu@gmail.com>
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

features/all/wacom/0025 Input wacom add 0xE5 MT device support.patch | (download)

drivers/input/tablet/wacom.h | 4 2 + 2 - 0 !
drivers/input/tablet/wacom_sys.c | 91 53 + 38 - 0 !
drivers/input/tablet/wacom_wac.c | 99 94 + 5 - 0 !
drivers/input/tablet/wacom_wac.h | 8 8 + 0 - 0 !
4 files changed, 157 insertions(+), 45 deletions(-)

 input: wacom - add 0xe5 (mt device) support

commit 1963518b9b1b8019d33b4b08deee6f873ffa2730 upstream.

Main part of patch is adding support for a new Wacom MT touch
packet and labels these devices using MTSCREEN type.

Other items of interest:

Delete some duplicate code in HID parsing for Y info since
its already done in X path.

In wacom_query_tablet_data(), only invoke the set report
that requests tablets to send Wacom Touch packets for
Finger interfaces.  Mostly, this is to make code intent clear.

Tested-by: Jason Gerecke <killertofu@gmail.com>
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

features/all/wacom/0026 Input wacom return proper error if usb_get_extra_des.patch | (download)

drivers/input/tablet/wacom_sys.c | 11 6 + 5 - 0 !
1 file changed, 6 insertions(+), 5 deletions(-)

 [patch 26/26] input: wacom - return proper error if
 usb_get_extra_descriptor() fails

commit a882c932a628cbab17752fc8b1c94692f95bbf9a upstream.

Instead of returning 1 (which is not even negative) let's capture and return
error codde returned by usb_get_extra_descriptor().

features/all/wacom/0027 wacom do not crash when retrieving touch_max.patch | (download)

drivers/input/tablet/wacom_sys.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 input: wacom - fix retrieving touch_max bug

commit 61c91dd4a58b21a783e37208f4d02e3cb4b637c4 upstream.

rep_data is not an array anymore, so taking it's address when passing to
wacom_get_report() is wrong.

Signed-off-by: Ping Cheng <pingc@wacom.com>
Tested-by: Rafi Rubin <rafi@seas.upenn.edu>
features/all/wacom/0028 wacom leave touch_max as is if predefined.patch | (download)

drivers/input/tablet/wacom_sys.c | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 input: wacom - don't retrieve touch_max when it is predefined

commit 1cecc5cc0658e128bcad0b29edb96f286066571d upstream.

Some models, such as 0xE6, report more fingers than we process.

Reported-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ping Cheng <pingc@wacom.com>
Tested-by: Nils Kanning <nils@kanning.de>
Tested-by: Rafi Rubin <rafi@seas.upenn.edu>
features/all/wacom/0029 wacom do not request tablet data on MT Tablet PC pen.patch | (download)

drivers/input/tablet/wacom_sys.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 wacom: do not request tablet data on mt tablet pc pen interface
Bug-Debian: http://bugs.debian.org/677164

When in commit 1963518b9b1b (Input: wacom - add 0xE5 (MT device)
support, 2012-04-29) the driver stopped asking for multitouch tablet
data on the pen interface of a tablet PC, as a side effect we started
executing the "else" to that if statement.  Oops.

This is needed for the 0xE6 tablet in the Thinkpad x220t to be usable
again.  Meanwhile the 0xE3 works fine without this.  Not sure why. -jn

[jn: extracted from a larger commit in the input-wacom repository,
 with new description]
[bwh: Part of commit ea2e60244573a9204c8cee9b4fb181106784c617 upstream]

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

features/all/wacom/0030 wacom ignore new style Wacom multi touch packets on .patch | (download)

drivers/input/tablet/wacom_wac.c | 6 5 + 1 - 0 !
1 file changed, 5 insertions(+), 1 deletion(-)

 input: wacom - tpc2fg doesn't store touch id for slots

commit 6795a524f0b049ceb5417d5036ab5e233345b900 upstream.

Signed-off-by: Ping Cheng <pingc@wacom.com>
Tested-by: Rafi Rubin <rafi@seas.upenn.edu>
features/all/wacom/0031 input wacom fix touch support for bamboo fun cth 461.patch | (download)

drivers/input/tablet/wacom_wac.c | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 input: wacom - fix touch support for bamboo fun cth-461

commit e12b3cecf221644ccab64d7c30a6df58b7630cb0 upstream.

Commit f393ee2b814e3291c12565000210b3cf10aa5c1d forgot to add the
touch_max property for Wacom Bamboo Fun CTH-461/S, ID 056a:00d2.

This broke the touch functionality for that device. This patch,
(done with help of Ping Cheng), adds the correct value and makes
touch work again.

Signed-off-by: Diego Calleja <diegocg@gmail.com>
features/all/rt2x00 add debug message for new chipset.patch | (download)

drivers/net/wireless/rt2x00/rt2800lib.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 rt2x00:add debug message for new chipset

commit b6df7f1d3b0513529c496b7ef70f0f14b5177407 upstream.

Signed-off-by: John Li <chen-yang.li@mediatek.com>
features/all/rt2x00 add rt5372 chipset support.patch | (download)

drivers/net/wireless/rt2x00/rt2800.h | 1 1 + 0 - 0 !
drivers/net/wireless/rt2x00/rt2800lib.c | 155 130 + 25 - 0 !
drivers/net/wireless/rt2x00/rt2800pci.c | 3 2 + 1 - 0 !
drivers/net/wireless/rt2x00/rt2800usb.c | 14 14 + 0 - 0 !
drivers/net/wireless/rt2x00/rt2x00.h | 1 1 + 0 - 0 !
5 files changed, 148 insertions(+), 26 deletions(-)

 rt2x00:add rt5372 chipset support

commit 2ed7188447fd48336f296ce2dfbd35785768d28c upstream.

Signed-off-by: John Li <chen-yang.li@mediatek.com>
features/all/be2net/0001 sweep the floors and convert some .get_drvinfo routi.patch | (download)

drivers/net/ethernet/emulex/benet/be_ethtool.c | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 [patch 01/58] sweep the floors and convert some .get_drvinfo
 routines to strlcpy

commit 68aad78c5023b8aa82da99b47f9d8cf40e8ca453 upstream.

Per the mention made by Ben Hutchings that strlcpy is now the preferred
string copy routine for a .get_drvinfo routine, do a bit of floor
sweeping and convert some of the as-yet unconverted ethernet drivers to
it.

Signed-off-by: Rick Jones <rick.jones2@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Restrict to drivers/net/ethernet/emulex/benet/]

features/all/be2net/0002 be2net init vf _if_handle vf_pmac_id to handle failu.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 8 3 + 5 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.c | 9 6 + 3 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 4 2 + 2 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 55 31 + 24 - 0 !
4 files changed, 42 insertions(+), 34 deletions(-)

 [patch 02/58] be2net: init (vf)_if_handle/vf_pmac_id to handle
 failure scenarios

commit 30128031d71741ef7d0e32c345e3bf02aa8a0704 upstream.

Initialize if_handle, vf_if_handle and vf_pmac_id with "-1" so that in
failure cases when be_clear() is called, we can skip over
if_destroy/pmac_del cmds if they have not been created.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0003 be2net stop checking the UE registers after an EEH e.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch 03/58] be2net: stop checking the ue registers after an eeh
 error

commit 72f02485626b3e71955e54d227ede1b54021d571 upstream.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0004 be2net don t log more than one error on detecting EE.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 15 3 + 12 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 3 2 + 1 - 0 !
2 files changed, 5 insertions(+), 13 deletions(-)

 [patch 04/58] be2net: don't log more than one error on detecting
 EEH/UE errors

commit 434b3648e9a58600cea5f3a1a0a7a89048e4df61 upstream.

Currently we're spamming error messages each time a FW cmd call is made
while in EEH/UE error state. One log msg on error detection is enough.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0005 be2net stop issuing FW cmds if any cmd times out.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 8 7 + 1 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.c | 29 11 + 18 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 2 2 + 0 - 0 !
3 files changed, 20 insertions(+), 19 deletions(-)

 [patch 05/58] be2net: stop issuing fw cmds if any cmd times out

commit 6589ade019dcab245d3bb847370f855b56cdf6ad upstream.

A FW cmd timeout (with a sufficiently large timeout value in the
order of tens of seconds) indicates an unresponsive FW. In this state
issuing further cmds and waiting for a completion will only stall the process.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0006 be2net Fix TX queue create for Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 15 10 + 5 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 12 8 + 4 - 0 !
2 files changed, 18 insertions(+), 9 deletions(-)

 [patch 06/58] be2net: fix tx queue create for lancer

commit 293c4a7d9b95d0beeb5df03c14bd35bc21f9e6f2 upstream.

Lancer uses V1 version of TXQ create. This command needs interface
id for TX queue creation. Rearrange code such that tx queue create
is after interface create. As TXQ create is now called after MCC
ring create use MCC instead of MBOX.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0007 be2net add register dump feature for Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 47 47 + 0 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 34 34 + 0 - 0 !
drivers/net/ethernet/emulex/benet/be_ethtool.c | 74 70 + 4 - 0 !
3 files changed, 151 insertions(+), 4 deletions(-)

 [patch 07/58] be2net: add register dump feature for lancer

commit de49bd5a447887fa630c54bb2769102d50fbe40a upstream.

Implement register dump using ethtool for Lancer.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0008 be2net Add EEPROM dump feature for Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.h | 2 2 + 0 - 0 !
drivers/net/ethernet/emulex/benet/be_ethtool.c | 21 20 + 1 - 0 !
2 files changed, 22 insertions(+), 1 deletion(-)

 [patch 08/58] be2net: add eeprom dump feature for lancer

commit af5875bdfed02a10a0c76bbd547753fea7979244 upstream.

Implemented eeprom dump using ethtool feature for Lancer.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0009 be2net Fix VLAN promiscous mode for Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 [patch 09/58] be2net: fix vlan promiscous mode for lancer

commit 5d5adb93d0efca8b47cc3e649a41ba650ff3d270 upstream.

To enable VLAN promiscous mode, the HW interface should be created
with VLAN promiscous capability in Lancer. Add this capability during
creation of the HW interface.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0010 be2net Use V1 query link status command for lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 [patch 10/58] be2net: use v1 query link status command for lancer

commit daad6167d97b43cfc448cfe698784730b53ed3d6 upstream.

Use V1 version of query link status command for Lancer.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0011 be2net Move to new SR IOV implementation in Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 99 98 + 1 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 37 36 + 1 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 89 66 + 23 - 0 !
3 files changed, 200 insertions(+), 25 deletions(-)

 [patch 11/58] be2net: move to new sr-iov implementation in lancer

commit 590c391dd362479b27a67c8d797ce348c5798b93 upstream.

SR-IOV implementation is Lancer has changed in following ways -
1)PF driver assigns one MAC addresses for VF using COMMON_SET_IFACE_MAC_LIST.
2)VF driver queries its MAC address using COMMON_GET_IFACE_MAC_LIST command
and assigns it to its interface.

Signed-off-by: Mammatha Edhala <mammatha.edhala@emulex.com>
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0012 be2net Fix error recovery paths.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 [patch 12/58] be2net: fix error recovery paths

commit 3bb62f4f95ba004048bafb460179b5db33aff787 upstream.

When TX queues are created again after error recovery,
netif_set_real_num_tx_queues() is invoked to update number of real
TX queues created. rtnl lock needs to be held when invoking this routine.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0013 be2net Add error handling for Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 155 106 + 49 - 0 !
1 file changed, 106 insertions(+), 49 deletions(-)

 [patch 13/58] be2net: add error handling for lancer

commit d8110f62c020ebc49108de57510a1482bfcbe86a upstream.

Detect error in Lancer by polling a HW register and
recover from this error if it is recoverable.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0014 be2net Use new hash key.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 [patch 14/58] be2net: use new hash key

commit 65f8584e253f4676c8b39e976a10e918ec984b7c upstream.

This new hash key gives better distribution of packets across RX
queues.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0015 be2net Fix non utilization of RX queues.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 16 10 + 6 - 0 !
1 file changed, 10 insertions(+), 6 deletions(-)

 [patch 15/58] be2net: fix non utilization of rx queues

commit e9008ee99c77207b2f6aee67e5f849b1e1400a11 upstream.

When non power of two MSIX vectors are given to driver, some RX queues
are not utilized. Program RSS table in such a way that all queues
are utilized.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0016 be2net netpoll support.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 18 17 + 1 - 0 !
1 file changed, 17 insertions(+), 1 deletion(-)

 [patch 16/58] be2net: netpoll support

commit 6626873980475f303367f7b709f4703b571cf854 upstream.

Add missing netpoll support.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0017 be2net update some counters to display via ethtool.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 [patch 17/58] be2net: update some counters to display via ethtool

commit 02fe7027961969a052fbbe453304f329d4e9735a upstream.

update pmem_fifo_overflow_drop, rx_priority_pause_frames counters.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0018 be2net workaround to fix a bug in BE.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 46 38 + 8 - 0 !
1 file changed, 38 insertions(+), 8 deletions(-)

 [patch 18/58] be2net: workaround to fix a bug in be

commit 1ded132d4c3442aa3a619c94c245d7b5e0eb9731 upstream.

disable Tx vlan offloading in certain cases.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0019 be2net fix ethtool ringparam reporting.patch | (download)

drivers/net/ethernet/emulex/benet/be_ethtool.c | 11 4 + 7 - 0 !
1 file changed, 4 insertions(+), 7 deletions(-)

 [patch 19/58] be2net: fix ethtool ringparam reporting

commit 110b82bc6265a48c1a0bf198109bed325ed055e2 upstream.

The ethtool "-g" option is supposed to report the max queue length and
user modified queue length for RX and TX queues.  be2net doesn't support
user modification of queue lengths. So, the correct values for these
would be the max numbers.
be2net incorrectly reports the queue used values for these fields.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0020 be2net refactor cleanup vf configuration code.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 20 12 + 8 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 137 68 + 69 - 0 !
2 files changed, 80 insertions(+), 77 deletions(-)

 [patch 20/58] be2net: refactor/cleanup vf configuration code

commit 11ac75ed1eb9d8f5ff067fa9a82ebf5075989281 upstream.

- use adapter->num_vfs (and not the module param) to store the actual
number of vfs created. Use the same variable to reflect SRIOV
enable/disable state. So, drop the adapter->sriov_enabled field.

- use for_all_vfs() macro in VF configuration code

- drop the "vf_" prefix for the fields of be_vf_cfg; the prefix is
redundant and removing it helps reduce line wrap

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0021 be2net Add support for Skyhawk cards.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 4 4 + 0 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 2 2 + 0 - 0 !
2 files changed, 6 insertions(+)

 [patch 21/58] be2net: add support for skyhawk cards

commit ecedb6ae908e3a8a19942da921a3ffb1c5a0d6ab upstream.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0022 be2net Fix INTx processing for Lancer.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 10 9 + 1 - 0 !
1 file changed, 9 insertions(+), 1 deletion(-)

 [patch 22/58] be2net: fix intx processing for lancer

commit 93c86700c0ae3a1407b979073f423e62e29372c1 upstream.

Lancer does not have HW registers to indicate the EQ causing the INTx
interrupt. As a result EQE entries of one EQ may be consumed when interrupt
is caused by another EQ. Fix this by arming CQs at the end of NAPI poll
routine to regenerate the EQEs.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0023 be2net fix be_vlan_add rem_vid.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 19 14 + 5 - 0 !
1 file changed, 14 insertions(+), 5 deletions(-)

 [patch 23/58] be2net: fix be_vlan_add/rem_vid

commit 80817cbf5ac13da76f3ee2b9259f26c09b385e84 upstream.

1) fix be_vlan_add/rem_vid to return proper status
2) perform appropriate housekeeping if firmware command succeeds.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0024 be2net fix range check for set_qos for a VF.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 14 9 + 5 - 0 !
1 file changed, 9 insertions(+), 5 deletions(-)

 [patch 24/58] be2net: fix range check for set_qos for a vf

commit 94f434c2055db5fe20f10d4e0ec50ab395e1f62b upstream.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0025 be2net query link status in be_open.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 5 4 + 1 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.c | 21 17 + 4 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 7 4 + 3 - 0 !
drivers/net/ethernet/emulex/benet/be_ethtool.c | 7 5 + 2 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 24 15 + 9 - 0 !
5 files changed, 45 insertions(+), 19 deletions(-)

 [patch 25/58] be2net: query link status in be_open()

commit b236916a68d923acff15787b5439d7d684c17ae5 upstream.

be2net gets an async link status notification from the FW when it creates
an MCC queue. There are some cases in which this gratuitous notification
is not received from FW. To cover this explicitly query the link status
in be_open().

Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0026 netdev make net_device_ops const.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 26/58] netdev: make net_device_ops const

commit e5686ad82ca2aeed7a8f24ffca115c0b7478dec9 upstream.

More drivers where net_device_ops should be const.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Restrict to drivers/net/ethernet/emulex/benet/]

features/all/be2net/0027 be2net create RSS rings even in multi channel config.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 [patch 27/58] be2net: create rss rings even in multi-channel configs

commit df505eb804d5221c3164ebecd1286cb7fc7f49ba upstream.

Currently RSS rings are not created in a multi-channel config.
RSS rings can be created on one (out of four) interfaces per port in a
multi-channel config. Doing this insulates the driver from a FW bug wherin
multi-channel config is wrongly reported even when not enabled. This also
helps performance in a multi-channel config, as one interface per port gets
RSS rings.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0028 be2net allocate more headroom in incoming skbs.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 3 3 + 0 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 2 1 + 1 - 0 !
2 files changed, 4 insertions(+), 1 deletion(-)

 [patch 28/58] be2net: allocate more headroom in incoming skbs

commit bb349bb4b19b39830e0486aedfd7c7dca23b7baf upstream.

Allocation of 64 bytes in skb headroom is not enough if we have to pull
ethernet + ipv6 + tcp headers, and/or extra tunneling header.

Its currently not noticed because netdev_alloc_skb_ip_align(64) give us
more room, thanks to power-of-two kmalloc() roundups.

Make sure we ask for 128 bytes so that side effects of upcoming patches
from Ian Campbell dont decrease benet rx performance, because of extra
skb head reallocations.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Vasundhara Volam <vasundhara.volam@emulex.com>
Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0029 be2net add descriptions for stat counters reported v.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 3 1 + 2 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 10 5 + 5 - 0 !
drivers/net/ethernet/emulex/benet/be_ethtool.c | 64 61 + 3 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 15 7 + 8 - 0 !
4 files changed, 74 insertions(+), 18 deletions(-)

 [patch 29/58] be2net: add descriptions for stat counters reported
 via ethtool

commit d45b9d39a1aed7851948460d29b843ce70eb0a68 upstream.

Also rename a few counters appropritely and delete 2 counters that are not
implemented in HW.

vlan_mismatch_drops does not exist in BE3 and is accounted for in
address_mismatch_drops. Do the same thing for BE2 and Lancer.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0030 be2net Fix link status query command.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch 30/58] be2net: fix link status query command

commit 57cd80d4d511748f3973accc6919e7e1e1936ebb upstream.

Version number in query link status command is getting overwritten in
be_wrb_cmd_hdr_prepare() routine. Move the initialization to fix this
issue. Also initialize the domain field.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0031 be2net Use new implementation of get mac list comman.patch | (download)

drivers/net/ethernet/emulex/benet/be_cmds.c | 67 48 + 19 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 36 25 + 11 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 29 19 + 10 - 0 !
3 files changed, 92 insertions(+), 40 deletions(-)

 [patch 31/58] be2net: use new implementation of get mac list command

commit e5e1ee89461543043a0144e6dac90547fefe2f89 upstream.

VFs use get mac list command to get their mac address. The format of
this command has changed. Update driver to use the new format.

Signed-off-by: Mammatha Edhala <mammatha.edhala@emulex.com>
Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0032 be2net event queue re design.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 65 38 + 27 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.c | 31 13 + 18 - 0 !
drivers/net/ethernet/emulex/benet/be_cmds.h | 8 3 + 5 - 0 !
drivers/net/ethernet/emulex/benet/be_ethtool.c | 96 24 + 72 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 812 356 + 456 - 0 !
5 files changed, 434 insertions(+), 578 deletions(-)

 [patch 32/58] be2net: event queue re-design

commit 10ef9ab4329edd08bccc7a8d34b96b85714195ce upstream.

v2: Fixed up the bad typecasting pointed out by David...

In the current design 8 TXQs are serviced by 1 EQ, while each RSS queue
is serviced by a separate EQ. This is being changed as follows:

- Upto 8 EQs will be used (based on the availabilty of msix vectors).
Each EQ will handle 1 RSS and 1 TX ring. The default non-RSS RX queue and
MCC queue are handled by the last EQ.

- On cards which provide support, upto 8 RSS rings will be used, instead
of the current limit of 4.

The new design allows spreading the TX multi-queue completion processing
across multiple CPUs unlike the previous design.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0033 be2net cancel be_worker during EEH recovery.patch | (download)

drivers/net/ethernet/emulex/benet/be.h | 1 1 + 0 - 0 !
drivers/net/ethernet/emulex/benet/be_main.c | 13 8 + 5 - 0 !
2 files changed, 9 insertions(+), 5 deletions(-)

 [patch 33/58] be2net: cancel be_worker during eeh recovery

commit 191eb7563164529bc7d6a693742fe5bed33cf004 upstream.

EEH recovery involves ring cleanup and re-creation. The worker
thread must not run during EEH cleanup/resume.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0034 be2net fix tx completion cleanup.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 75 42 + 33 - 0 !
1 file changed, 42 insertions(+), 33 deletions(-)

 [patch 34/58] be2net: fix tx completion cleanup

commit 0ae57bb3df562e57ac89ad7bc524b6f2e83235f9 upstream.

As a part of be_close(), instead of waiting for a max of 200ms for each TXQ,
wait for a total of 200ms for completions from all TXQs to arrive.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

features/all/be2net/0035 be2net reset queue address after freeing.patch | (download)

drivers/net/ethernet/emulex/benet/be_main.c | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 [patch 35/58] be2net: reset queue address after freeing

commit 1cfafab965198bc0d9cb794af5065d0797969727 upstream.

This will prevent double free in some cases where be_clear() is called
for cleanup when be_setup() fails half-way.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>