GitHub/moto-9609/android_kernel_motorola_exynos9610.git
15 years agowl1251: use wiphy_dev instead of wl->spi->dev
Bob Copeland [Fri, 7 Aug 2009 10:33:04 +0000 (13:33 +0300)]
wl1251: use wiphy_dev instead of wl->spi->dev

Remove a dependency on the bus-specific struct device by using wiphy_dev
when requesting firmware.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowl1251: separate bus i/o code into io.c
Bob Copeland [Fri, 7 Aug 2009 10:32:56 +0000 (13:32 +0300)]
wl1251: separate bus i/o code into io.c

In order to eventually support wl1251 spi and sdio interfaces, move
the register and memory transfer functions to a common file.  Also
rename wl1251_spi_mem_{read,write} to indicate its common usage.
We still use spi_read internally until SDIO interface is introduced
so nothing functional should change here.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowl1251: remove fixed address support from spi commands
Kalle Valo [Fri, 7 Aug 2009 10:32:48 +0000 (13:32 +0300)]
wl1251: remove fixed address support from spi commands

The fixed addresses are not used in wl1251, only in wl1271. So it can
be safely removed.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Update beacon RSSI
Sujith [Fri, 7 Aug 2009 04:15:36 +0000 (09:45 +0530)]
ath9k: Update beacon RSSI

ANI uses the beacon RSSI for its operation.
Update this properly.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove local chainmask variable
Sujith [Fri, 7 Aug 2009 04:15:33 +0000 (09:45 +0530)]
ath9k: Remove local chainmask variable

The chainmask can be obtained directly from ath_hw.
Also, use a helper macro for comparing CTLs - this improves readability.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Cleanup TX power calculation for 4K chips
Sujith [Fri, 7 Aug 2009 04:15:30 +0000 (09:45 +0530)]
ath9k: Cleanup TX power calculation for 4K chips

Write CCK power-per-rate array always and report
correct TX power to regulatory.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Clean antenna configuration for 4K EEPROM chips
Sujith [Fri, 7 Aug 2009 04:15:23 +0000 (09:45 +0530)]
ath9k: Clean antenna configuration for 4K EEPROM chips

This patch revamps the antenna configuration mechanism
for 4K chips.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Add macros for Antenna Diversity
Sujith [Fri, 7 Aug 2009 04:15:21 +0000 (09:45 +0530)]
ath9k: Add macros for Antenna Diversity

A subsequent patch would use these for configuring
antennae on AR9285.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Cleanup ath9k_hw_4k_set_gain() interface
Sujith [Fri, 7 Aug 2009 04:15:19 +0000 (09:45 +0530)]
ath9k: Cleanup ath9k_hw_4k_set_gain() interface

regChainOffset is always zero, remove it.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Split eeprom.c into manageable pieces
Sujith [Fri, 7 Aug 2009 04:15:15 +0000 (09:45 +0530)]
ath9k: Split eeprom.c into manageable pieces

Add eeprom_def.c, eeprom_4k.c and eeprom_9287.c
This improves maintainability.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove a few DEBUG mesages
Sujith [Fri, 7 Aug 2009 04:15:13 +0000 (09:45 +0530)]
ath9k: Remove a few DEBUG mesages

We have never used these at all.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Try to fix whitespace damage
Sujith [Fri, 7 Aug 2009 04:15:11 +0000 (09:45 +0530)]
ath9k: Try to fix whitespace damage

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Cleanup function return types
Sujith [Fri, 7 Aug 2009 04:15:09 +0000 (09:45 +0530)]
ath9k: Cleanup function return types

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Remove unneeded assignment of protocol field
Sujith [Fri, 7 Aug 2009 04:15:01 +0000 (09:45 +0530)]
ath9k: Remove unneeded assignment of protocol field

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: Set WEP ciphers
Samuel Ortiz [Thu, 6 Aug 2009 19:04:41 +0000 (21:04 +0200)]
cfg80211: Set WEP ciphers

With iwconfig there is no way to properly set the ciphers when trying to
connect to a WEP SSID. Although mac80211 based drivers dont need it, several
fullmac drivers do.
This patch basically sets the WEP ciphers whenever they're not set at all.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix SME association after disassociation
Johannes Berg [Thu, 6 Aug 2009 18:41:34 +0000 (20:41 +0200)]
cfg80211: fix SME association after disassociation

When an AP disassociates us, we currently go into a weird
state because the SME doesn't handle authenticated but not
associated well unless it's within its own state machine,
it can't recover from that. However, it shouldn't need to,
since we don't do any decisions in it really -- so when we
get disconnected, simply deauthenticate too.

Reported-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix nl80211 disconnected events
Johannes Berg [Thu, 6 Aug 2009 18:41:33 +0000 (20:41 +0200)]
cfg80211: fix nl80211 disconnected events

When reporting a disconnection to userspace, we try
to report whether it was from the AP or by our own
choice. However, we misreported a broadcast deauth
or disassoc as being by own choice, which is wrong.
Fix this by checking the sender address instead of
the destination address.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: stay authenticated after disassoc
Johannes Berg [Thu, 6 Aug 2009 18:41:32 +0000 (20:41 +0200)]
mac80211: stay authenticated after disassoc

After being disassociated by the AP, mac80211 currently
reports this to cfg80211, and then goes to delete the
association. That's fine, but cfg80211 assumes that it's
still authenticated, however, mac80211 throws away all
state.

This fixes mac80211 to keep track of the authentication
in that case so that cfg80211 can request a deauth or
new association properly.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowl1271: add wl1271 to Kconfig and the Makefile
Luciano Coelho [Thu, 6 Aug 2009 13:25:29 +0000 (16:25 +0300)]
wl1271: add wl1271 to Kconfig and the Makefile

This patch adds support for the wl1271 driver in the Kconfig and in the
Makefile.

Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowl1271: add wl1271 driver files
Luciano Coelho [Thu, 6 Aug 2009 13:25:28 +0000 (16:25 +0300)]
wl1271: add wl1271 driver files

This driver supports the wl1271 chipset from Texas Instruments based on the
WiLink(tm) 6.0 mobile platform.  Support for wl1273 should be relatively easy
to add.  This chipset is designed for embedded devices, with good powersaving
capabilities.  The wl1271 chipset is the successor of wl1251 and supports the
802.11b/g/n standards, but currently this driver supports only b/g.

More information about this chipset can be found here:
http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12762&contentId=29993

Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix disassociation warning due to misuse of wdev->current_bss
Pavel Roskin [Thu, 6 Aug 2009 08:52:42 +0000 (04:52 -0400)]
cfg80211: fix disassociation warning due to misuse of wdev->current_bss

WARN_ON was triggered at mlme.c:213 when dissociating from an AP.

wdev->current_bss->pub.bssid should be used in place of
wdev->current_bss for BSSID comparison.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: consolidate storage of WEP and TKIP keys
David Kilroy [Wed, 5 Aug 2009 20:23:32 +0000 (21:23 +0100)]
orinoco: consolidate storage of WEP and TKIP keys

When TKIP support was added, we stored the keys separately to avoid
issues when both TKIP and WEP keys are sent to the driver.

We need to consolidate the storage to convert to cfg80211, so do this
first and try iron out the issues.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: add function to retrieve current bssid
David Kilroy [Wed, 5 Aug 2009 20:23:31 +0000 (21:23 +0100)]
orinoco: add function to retrieve current bssid

We will need this from the cfg80211 disassociate call.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: move disassociation to hw.c
David Kilroy [Wed, 5 Aug 2009 20:23:30 +0000 (21:23 +0100)]
orinoco: move disassociation to hw.c

This allows the disassociation to be called via cfg80211.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: pass orinoco_set_tkip_key the sequence lengths
David Kilroy [Wed, 5 Aug 2009 20:23:29 +0000 (21:23 +0100)]
orinoco: pass orinoco_set_tkip_key the sequence lengths

When we store the keys for cfg80211, the sequence lengths will also be
stored. So avoid assuming the sequence lengths at this level.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: use local types for auth alg and sequence length
David Kilroy [Wed, 5 Aug 2009 20:23:28 +0000 (21:23 +0100)]
orinoco: use local types for auth alg and sequence length

This helps in the refactorring required to convert the driver to
cfg80211.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoorinoco: prefer_port3 can be a single bit
David Kilroy [Wed, 5 Aug 2009 20:23:27 +0000 (21:23 +0100)]
orinoco: prefer_port3 can be a single bit

This is a boolean value set based on firmware capabilities, so move the
variable to the capabilities section and reduce the structure size.

Signed-off-by: David Kilroy <kilroyd@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless: display wext SSID when connected by cfg80211
Zhu Yi [Wed, 5 Aug 2009 07:07:13 +0000 (15:07 +0800)]
wireless: display wext SSID when connected by cfg80211

cfg80211 displays correct link info when connected by wext. But if
the connection is setup by cfg80211, wext cannot display the SSID.
This patch fixed this issue.

Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change.
Gábor Stefanik [Tue, 4 Aug 2009 23:28:20 +0000 (01:28 +0200)]
b43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change.

Update a comment that still says IEEE80211_IF_TYPE instead of NL80211_IFTYPE.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: remove wrong probe_resp_plcp write
gregor kowski [Tue, 4 Aug 2009 22:44:23 +0000 (00:44 +0200)]
b43: remove wrong probe_resp_plcp write

The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is
writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK
zone. Remove b43_write_probe_resp_template,  b43_write_probe_resp_plcp
and b43_write_probe_resp_plcp because the probe response offload is
currently not supported by mac80211.

Signed-off-by: Gregor Kowski <gregor.kowski@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Typo fixes & minor cleanup
Gábor Stefanik [Tue, 4 Aug 2009 22:25:42 +0000 (00:25 +0200)]
b43: Typo fixes & minor cleanup

Make use of HostFlags defines in the LP-PHY code.
Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix compilation of mesh (although its disabled)
Luis R. Rodriguez [Tue, 4 Aug 2009 22:06:26 +0000 (15:06 -0700)]
mac80211: fix compilation of mesh (although its disabled)

Mesh is currently disabled on mac80211, its marked
as broken. This patch gets it to compile though,
to account for the mac80211 workqueue changes.
There was a simple typo in the patches for mesh
for the workqueue migration, but we never compile
tested it as we couldn't even select mesh as its
broken. Lets at least let it compile for those
interested in getting it fixed.

Reported-by: Pat Erley <pat-lkml@erley.org>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43: Add LP 2063 radio init
Gábor Stefanik [Tue, 4 Aug 2009 21:57:32 +0000 (23:57 +0200)]
b43: Add LP 2063 radio init

Add B2063 radio init code and tables for LP-PHY.
Rename structures common between B2062 and B2063 to B206X.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agozd1211rw: make it clear we don't use leds.h LED stuff
Luis R. Rodriguez [Tue, 4 Aug 2009 21:04:17 +0000 (14:04 -0700)]
zd1211rw: make it clear we don't use leds.h LED stuff

zd1211rw uses its own LED stuff so let rename its LED
stuff as such.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: use new FIF_PSPOLL configure filter
Luis R. Rodriguez [Tue, 4 Aug 2009 17:05:30 +0000 (10:05 -0700)]
ath9k: use new FIF_PSPOLL configure filter

We used to set pspoll filter on ath9k on AP mode but
we no longer need this mode specific check as mac80211
now does the check for us and informs us when we should
enable pspoll through FIF_PSPOLL.

Cc: Igor Perminov <igor.perminov@inbox.ru>
Cc: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: fix missing output in monitor mode after ifconfig up
Joerg Albert [Tue, 4 Aug 2009 23:52:07 +0000 (01:52 +0200)]
ath5k: fix missing output in monitor mode after ifconfig up

Let ath5k_chan_set() always call ath5k_reset().
This fixes the bug that we don't
get any packets in monitor mode after:

ifconfig wlan0 down
iwconfig wlan0 mode monitor channel 1
ifconfig wlan0 up

but they arrive after

iwconfig wlan0 channel 2

Signed-off-by: Joerg Albert <jal2@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agobnx2x: update version to 1.52.1
Eilon Greenstein [Wed, 12 Aug 2009 08:24:31 +0000 (08:24 +0000)]
bnx2x: update version to 1.52.1

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Whitespaces and comments
Eilon Greenstein [Wed, 12 Aug 2009 08:24:29 +0000 (08:24 +0000)]
bnx2x: Whitespaces and comments

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Removing unused definitions
Eilon Greenstein [Wed, 12 Aug 2009 08:24:25 +0000 (08:24 +0000)]
bnx2x: Removing unused definitions

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Beautify bnx2x_dump.h
Eilon Greenstein [Wed, 12 Aug 2009 08:24:18 +0000 (08:24 +0000)]
bnx2x: Beautify bnx2x_dump.h

Signed-off-by: Yitchak Gertner <gertner@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Re-factor the initialization code
Eilon Greenstein [Wed, 12 Aug 2009 08:24:14 +0000 (08:24 +0000)]
bnx2x: Re-factor the initialization code

Moving the code to a more logical place and beautifying it. No real change in
behavior.

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Using PCI_DEVICE macro
Eilon Greenstein [Wed, 12 Aug 2009 08:24:10 +0000 (08:24 +0000)]
bnx2x: Using PCI_DEVICE macro

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Adding explicit casting
Eilon Greenstein [Wed, 12 Aug 2009 08:24:05 +0000 (08:24 +0000)]
bnx2x: Adding explicit casting

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Using macro for phy address
Eilon Greenstein [Wed, 12 Aug 2009 08:24:02 +0000 (08:24 +0000)]
bnx2x: Using macro for phy address

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Re-arrange the link structures for better alignment
Eilon Greenstein [Wed, 12 Aug 2009 08:23:59 +0000 (08:23 +0000)]
bnx2x: Re-arrange the link structures for better alignment

Change ieee_fc to u16 instead of u32 and re-arrange the link parameters
structures

Signed-off-by: Yitchak Gertner <gertner@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Missing smp_wmb for statistics state machine
Eilon Greenstein [Wed, 12 Aug 2009 08:23:56 +0000 (08:23 +0000)]
bnx2x: Missing smp_wmb for statistics state machine

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Remove SGMII configuration when not required
Eilon Greenstein [Wed, 12 Aug 2009 08:23:53 +0000 (08:23 +0000)]
bnx2x: Remove SGMII configuration when not required

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Keep only one HW path active
Eilon Greenstein [Wed, 12 Aug 2009 08:23:51 +0000 (08:23 +0000)]
bnx2x: Keep only one HW path active

Disable bmac access while working with emac and keep the single lane SerDes in
reset while working with 4 lanes XGXS

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Check unzip return code
Eilon Greenstein [Wed, 12 Aug 2009 08:23:48 +0000 (08:23 +0000)]
bnx2x: Check unzip return code

Without this check, when running out of memory, we will see PSOD's in
bnx2x_init_fill() when doing a memset().  This is because at that time,
bp->gunzip_buf is not pointing to a valid allocated space.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Remove the init_dmae field from bp
Eilon Greenstein [Wed, 12 Aug 2009 08:23:44 +0000 (08:23 +0000)]
bnx2x: Remove the init_dmae field from bp

Moved the dmae_command from the heap to the stack.  This will save 56
bytes per bnx2x structure.   As a side benefit, we can also reduce the
time the dmae_mutex is held.  This is because do we not need to hold
this mutex when setting up the dmae command.  The memory where is dmae
command is stored is not a shared resource and doesn not need to be
protected.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Updating regdump_len at drvinfo
Eilon Greenstein [Wed, 12 Aug 2009 08:23:40 +0000 (08:23 +0000)]
bnx2x: Updating regdump_len at drvinfo

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Move printing of version from probe to the init
Eilon Greenstein [Wed, 12 Aug 2009 08:23:37 +0000 (08:23 +0000)]
bnx2x: Move printing of version from probe to the init

Move printing of version from probe to the init function
Rather then checking if this is the first module probe call to print
the version of the driver only once, the statement is moved to the init
function of the module where init is only called once

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Combine get_pcie_width and get_pcie_speed
Eilon Greenstein [Wed, 12 Aug 2009 08:23:34 +0000 (08:23 +0000)]
bnx2x: Combine get_pcie_width and get_pcie_speed

The functions bnx2x_get_pcie_width() and bnx2x_get_pcie_speed() were
combined into bnx2x_get_pcie_width_speed() so that there is only
1 PCI read to PCICFG_OFFSET + PCICFG_LINK_CONTROL rather then 2 reads.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Stop loading if error condition detected
Eilon Greenstein [Wed, 12 Aug 2009 08:23:31 +0000 (08:23 +0000)]
bnx2x: Stop loading if error condition detected

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Calling pci_set_drvdata earlier
Eilon Greenstein [Wed, 12 Aug 2009 08:23:28 +0000 (08:23 +0000)]
bnx2x: Calling pci_set_drvdata earlier

In case of error, bnx2x_init_dev calls pci_set_drvdata(pdev, NULL)

Signed-off-by: Yitchak Gertner <gertner@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Configurable pause scheme
Eilon Greenstein [Wed, 12 Aug 2009 08:23:26 +0000 (08:23 +0000)]
bnx2x: Configurable pause scheme

When a given ring is running out of space, the FW can send pause towards the
network. When working with multi-queues, when one queue is getting out of space
it can block all other queues. The preferred scheme is to send pause frames only
when running out of the shared internal chip buffers and if a given queue cannot
place a packet on the host, it will drop it. Since some users might want to work
in drop-less mode, allowing changing the behavior as a module parameter.

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Adding Likely directive
Eilon Greenstein [Wed, 12 Aug 2009 08:23:23 +0000 (08:23 +0000)]
bnx2x: Adding Likely directive

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Prefetch the page containing the BD descriptor
Eilon Greenstein [Wed, 12 Aug 2009 08:23:20 +0000 (08:23 +0000)]
bnx2x: Prefetch the page containing the BD descriptor

Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Reporting host statistics to management FW
Eilon Greenstein [Wed, 12 Aug 2009 08:23:17 +0000 (08:23 +0000)]
bnx2x: Reporting host statistics to management FW

This is required for NCSI statistics

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Removing old PHY FW upgrade code
Eilon Greenstein [Wed, 12 Aug 2009 08:23:14 +0000 (08:23 +0000)]
bnx2x: Removing old PHY FW upgrade code

This code should not have resided in the driver. Now that we have a new
interface, this logic can reside in the application that whishes to upgrade the
PHY FW

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Supporting PHY FW upgrade
Eilon Greenstein [Wed, 12 Aug 2009 08:23:11 +0000 (08:23 +0000)]
bnx2x: Supporting PHY FW upgrade

There are 3 operations that the driver needs to support to allow applications to
access the PHY FW (on top of the MDC/MDIO access). Since those are essentially
nvram access commands, adding them to the ethtool -E interface.

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: MDC/MDIO CL45 IOCTLs
Eilon Greenstein [Wed, 12 Aug 2009 08:23:08 +0000 (08:23 +0000)]
bnx2x: MDC/MDIO CL45 IOCTLs

As suggested by Ben Hutchings <bhutchings@solarflare.com>, using the MDC/MDIO
IOCTL

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Adding XAUI CL73 autoneg support
Eilon Greenstein [Wed, 12 Aug 2009 08:23:04 +0000 (08:23 +0000)]
bnx2x: Adding XAUI CL73 autoneg support

Adding CL73 support to the built in PHY in the 5771x device. Also supporting
fallbacks to CL73 if the link partner does not respond.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: BCM8727 FW load
Eilon Greenstein [Wed, 12 Aug 2009 08:23:01 +0000 (08:23 +0000)]
bnx2x: BCM8727 FW load

The BCM8727 is a dual port PHY. The FW must be loaded in a given order on all
designs - including those which swapped the ports (calling port number zero the
second port)

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: get_ext_phy_fw_version returns NULL if not applicable
Eilon Greenstein [Wed, 12 Aug 2009 08:22:59 +0000 (08:22 +0000)]
bnx2x: get_ext_phy_fw_version returns NULL if not applicable

To avoid confusion, if the PHY does not have a FW (and so, no FW version) make
sure that the string is NULL.

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Reading the FW version of the BCM8481 PHY
Eilon Greenstein [Wed, 12 Aug 2009 08:22:54 +0000 (08:22 +0000)]
bnx2x: Reading the FW version of the BCM8481 PHY

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: BCM8481 LED4 instead of LASI
Eilon Greenstein [Wed, 12 Aug 2009 08:22:16 +0000 (08:22 +0000)]
bnx2x: BCM8481 LED4 instead of LASI

The BCM8481 does not generate LASI interrupt for 10M, 100M and 1G link, so we
are using LED4 output as the interrupt input to the 57711. This requires some
adaptation in the link interrupt routines

Signed-off-by: Yaniv Rosner <yanivr@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Advertize flow control normally in MF mode
Eilon Greenstein [Wed, 12 Aug 2009 08:22:13 +0000 (08:22 +0000)]
bnx2x: Advertize flow control normally in MF mode

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Supporting Device Control Channel
Eilon Greenstein [Wed, 12 Aug 2009 08:22:08 +0000 (08:22 +0000)]
bnx2x: Supporting Device Control Channel

In multi-function mode, the FW can receive special management control commands
to set the Min/Max BW and the the function link state

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Removing old FW files
Eilon Greenstein [Thu, 13 Aug 2009 05:53:55 +0000 (22:53 -0700)]
bnx2x: Removing old FW files

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: Using the new FW
Eilon Greenstein [Thu, 13 Aug 2009 05:53:28 +0000 (22:53 -0700)]
bnx2x: Using the new FW

The new FW improves the packets per second rate. It required a lot of change in
the FW which implies many changes in the driver to support it. It is now also
possible for the driver to use a separate MSI-X vector for Rx and Tx - this also
add some to the complicity of this change.

All things said - after this patch, practically all performance matrixes show
improvement.
Though Vladislav Zolotarov is not signed on this patch, he did most of the job
and deserves credit for that.

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobnx2x: New FW files
Eilon Greenstein [Thu, 13 Aug 2009 05:52:50 +0000 (22:52 -0700)]
bnx2x: New FW files

Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor8169: phy init for the 8102e
françois romieu [Mon, 10 Aug 2009 19:45:48 +0000 (19:45 +0000)]
r8169: phy init for the 8102e

Synced with Realtek's 1.013.00 r8101 driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor8169: phy init for the 8169s
françois romieu [Mon, 10 Aug 2009 19:44:56 +0000 (19:44 +0000)]
r8169: phy init for the 8169s

Synced with Realtek's 6.011.00 r8169 driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor8169: phy init for the 8169scd
françois romieu [Mon, 10 Aug 2009 19:44:19 +0000 (19:44 +0000)]
r8169: phy init for the 8169scd

Synced with Realtek's 6.011.00 r8169 driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor8169: phy init for the 8169sce
françois romieu [Mon, 10 Aug 2009 19:43:29 +0000 (19:43 +0000)]
r8169: phy init for the 8169sce

Synced with Realtek's 6.011.00 r8169 driver.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor8169: differentiate close chipsets in the startup identification message
françois romieu [Mon, 10 Aug 2009 19:42:37 +0000 (19:42 +0000)]
r8169: differentiate close chipsets in the startup identification message

The driver displays the same 0x18000000 xid for RTL_GIGA_MAC_VER_06
and RTL_GIGA_MAC_VER_05 whereas the former ought to be identified as
0x98000000.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agor8169: fix r8101 quirk dupe
françois romieu [Mon, 10 Aug 2009 19:41:52 +0000 (19:41 +0000)]
r8169: fix r8101 quirk dupe

Noticed by Vincent Pelletier <plr.vincent@gmail.com>.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoPhonet: fix /proc/net/phonet with network namespaces
Rémi Denis-Courmont [Tue, 11 Aug 2009 03:12:07 +0000 (03:12 +0000)]
Phonet: fix /proc/net/phonet with network namespaces

seq_open_net() and seq_release() are needed for seq_file_net().

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobe2net: clear & notify residual events before destroying event queues
Sathya Perla [Mon, 10 Aug 2009 03:43:51 +0000 (03:43 +0000)]
be2net: clear & notify residual events before destroying event queues

Any events rcvd after interrupts are disabled (in the driver unload path),
must be cleared and notified before the event queues are destroyed

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobe2net: fix bad queue traversal in be_rx_q_clean()
Sathya Perla [Mon, 10 Aug 2009 03:43:23 +0000 (03:43 +0000)]
be2net: fix bad queue traversal in be_rx_q_clean()

Using "for(tail != head)" to traverse a queue from tail to head
fails in the case of a fully filled queue. Use "for(used != 0)" instead.

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agobe2net: Clear pending tx completions before destroying tx queue
Sathya Perla [Mon, 10 Aug 2009 03:42:43 +0000 (03:42 +0000)]
be2net: Clear pending tx completions before destroying tx queue

Clear pending tx completions in be_close() (ndo.stop method) so that after
unregister_netdev() calls be_close(), all tx skbs are freed and there are
no more tx completions when txq is destroyed.

Signed-off-by: Sathya Perla <sathyap@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: smc911x: includecheck fix for smc911x.h
Jaswinder Singh Rajput [Sun, 9 Aug 2009 03:12:38 +0000 (03:12 +0000)]
net: smc911x: includecheck fix for smc911x.h

fix the following 'make includecheck' warning:

  drivers/net/smc911x.h: mach/dma.h is included more than once.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: include/linux/icmpv6: includecheck fix for icmpv6.h
Jaswinder Singh Rajput [Sun, 9 Aug 2009 03:27:18 +0000 (03:27 +0000)]
net: include/linux/icmpv6: includecheck fix for icmpv6.h

fix the following 'make includecheck' warning:

  include/linux/icmpv6.h: linux/skbuff.h is included more than once.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomyri10ge: improve parity error detection and recovery
Brice Goglin [Fri, 7 Aug 2009 10:44:22 +0000 (10:44 +0000)]
myri10ge: improve parity error detection and recovery

Improve myri10ge parity error detection and recovery:
1) Don't restore PCI config space to a rebooted NIC until AFTER the
   host is quiescent.
2) Let myri10ge_close() know the NIC is dead, so it won't waste time
   waiting for a dead nic to respond to MXGEFW_CMD_ETHERNET_DOWN
3) When the NIC is quiet (link down, or otherwise idle link) use
   a pci config space read to detect a rebooted NIC.  Otherwise
   we might never notice that a NIC rebooted

Signed-off-by: Andrew Gallatin <gallatin@myri.com>
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net: Correct use of request_region/request_mem_region
Julia Lawall [Sat, 8 Aug 2009 21:43:42 +0000 (21:43 +0000)]
drivers/net: Correct use of request_region/request_mem_region

request_mem_region should be used with release_mem_region, not request_region.

The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r2@
expression start;
@@

request_mem_region(start,...)

@b2@
expression r2.start;
@@

request_region(start,...)

@depends on !b2@
expression r2.start;
expression E;
@@

- release_region
+ release_mem_region
  (start,E)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: pcmcia/axnet_cs: includecheck fix axnet_cs.c
Jaswinder Singh Rajput [Sun, 9 Aug 2009 03:05:25 +0000 (03:05 +0000)]
net: pcmcia/axnet_cs: includecheck fix axnet_cs.c

fix the following 'make includecheck' warning:

  drivers/net/pcmcia/axnet_cs.c: linux/etherdevice.h is included more than once.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: cs89x0: includecheck fix for cs89x0.c
Jaswinder Singh Rajput [Sun, 9 Aug 2009 02:59:56 +0000 (02:59 +0000)]
net: cs89x0: includecheck fix for cs89x0.c

fix the following 'make includecheck' warning:

  drivers/net/cs89x0.c: asm/irq.h is included more than once.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/tokenring: Use status field rather than state field
Julia Lawall [Fri, 7 Aug 2009 20:47:33 +0000 (20:47 +0000)]
drivers/net/tokenring: Use status field rather than state field

In general in this file, it is the status field, not the state field, that
contains values like OPEN and CLOSED.  Indeed, in the first error case, it
is the field status that is initialized.  I have thus assumed that all of
the error handling code should be the same, and moved it to the end of the
function to emphasize its commonality.

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivres/net: Change constant name
Julia Lawall [Fri, 7 Aug 2009 21:53:41 +0000 (21:53 +0000)]
drivres/net: Change constant name

In this series of tests the constants have the form XRXMAC_STATUS, except
in this one case.  The values of XRXMAC_STAT_MSK_RXOCTET_CNT_EXP and
XRXMAC_STATUS_RXOCTET_CNT_EXP are furthermore the same.

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agofakehard: use START-CONFIRM primitive to report START failure
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:45 +0000 (02:58 +0000)]
fakehard: use START-CONFIRM primitive to report START failure

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonl802154: support START-CONFIRM primitive
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:44 +0000 (02:58 +0000)]
nl802154: support START-CONFIRM primitive

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoaf_ieee802154: add support for WANT_ACK socket option
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:43 +0000 (02:58 +0000)]
af_ieee802154: add support for WANT_ACK socket option

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoaf_ieee802154: minor cleanup in dgram_bind
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:42 +0000 (02:58 +0000)]
af_ieee802154: minor cleanup in dgram_bind

1) fix ro->bound protection by socket lock
2) make ro->bound bit instead of int

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonl802154: add support for dumping WPAN interface information
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:40 +0000 (02:58 +0000)]
nl802154: add support for dumping WPAN interface information

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodocumentation: fix wrt. headers rename
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:39 +0000 (02:58 +0000)]
documentation: fix wrt. headers rename

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonl802154: make ieee802154_policy constant
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:38 +0000 (02:58 +0000)]
nl802154: make ieee802154_policy constant

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoaf_ieee802154: drop IEEE802154_SIOC_ADD_SLAVE declaration
Dmitry Baryshkov [Fri, 7 Aug 2009 02:58:36 +0000 (02:58 +0000)]
af_ieee802154: drop IEEE802154_SIOC_ADD_SLAVE declaration

IEEE802154_SIOC_ADD_SLAVE was used to allocate 802.15.4 interfaces
on the top of radio. It's not used anymore, drop it.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoUse correct NET_RX_* returns for atalk_rcv()
Mark Smith [Thu, 6 Aug 2009 23:21:22 +0000 (23:21 +0000)]
Use correct NET_RX_* returns for atalk_rcv()

In all rx'd SKB cases, atalk_rcv() either eventually jumps to or falls through
    to the label out:, which  returns numeric 0. Numeric 0 corresponds to
    NET_RX_SUCCESS, which is incorrect in failed SKB cases.

    This patch makes atalk_rcv() provide the correct returns by:

    o  explicitly returning NET_RX_SUCCESS in the two success cases
    o  having the out: label return NET_RX_DROP, instead of numeric 0
    o  making the failed SKB labels and processing more consistent with other
       _rcv() routines in the kernel, simplifying validation and removing a
       backwards goto

Signed-off-by: Mark Smith <markzzzsmith@yahoo.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agof_phonet: use page-sized rather than MTU-sized RX buffers
Rémi Denis-Courmont [Thu, 6 Aug 2009 21:56:44 +0000 (21:56 +0000)]
f_phonet: use page-sized rather than MTU-sized RX buffers

Instead of a large (physically) linear buffer, we generate a set of
paged sk_buff, so no extra memory copy is involved. This removes
high-order allocations and saves quite a bit of memory. Phonet MTU is
65541 bytes, so the two buffers were padded to 128 kilo-bytes each.
Now, we create 17 page buffers, almost a 75% memory use reduction.

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>