aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
Commit message (Collapse)AuthorAge
* forcedeth: fix checksum flagAyaz Abdulla2008-08-27
| | | | | | | | | | | | | | | | | | | | Fix the checksum feature advertised in device flags. The hardware support TCP/UDP over IPv4 and TCP/UDP over IPv6 (without IPv6 extension headers). However, the kernel feature flags do not distinguish IPv6 with/without extension headers. Therefore, the driver needs to use NETIF_F_IP_CSUM instead of NETIF_F_HW_CSUM since the latter includes all IPv6 packets. A future patch can be created to check for extension headers and perform software checksum calculation. Signed-off-by: Ayaz Abdulla <aabdulla@nvidia.com> Cc: Jeff Garzik <jgarzik@pobox.com> Cc: Manfred Spraul <manfred@colorfullife.com Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* net/usb/mcs7830: add set_mac_addressOliver Martin2008-08-27
| | | | | | | | | Implement set_mac_address for mcs7830. This enables me to use it with my cable modem. Signed-off-by: Oliver Martin <oliver.martin@student.tuwien.ac.at> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* net/usb/mcs7830: new device IDsArnd Bergmann2008-08-27
| | | | | | | | | | | | | This adds USB device IDs for MosChip 7730 and Sitecom LN030 to the mcs7830 driver. The IDs have been reported to work without further modifications. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: David Brownell <david-b@pacbell.net> Cc: Viktor Horvath <ViktorHorvath@gmx.net> Cc: Robbert Wethmar <robbert@wethmar.nl> Cc: Bart van der Klip <bklip@xs4all.nl> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] smc91x: fix resource removal (null ptr deref)Jeff Garzik2008-08-27
| | | | | | | | Properly handle resource cleanup on unplug/exit. Spotted by Jonathan Cameron Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* ibmveth: fix bad UDP checksumsSantiago Leon2008-08-27
| | | | | | | | | | | | | | This patch fixes a ibmveth bug where bad UDP checksums are being transmitted when checksum offloading is enabled. The hypervisor does checksum offloading only on TCP packets, so ibmveth calls skb_checksum_help() for any other protocol. The bug happens because the packet is being modified after the DMA map, so we would need a memory barrier before making the hypervisor call. Reordering the code so that the DMA map happens after skb_checksum_help() has the additional advantage of fixing a DMA map leak if skb_checksum_help() where to fail. Signed-off-by: Santiago Leon <santil@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] hso: dev_kfree_skb crash fixDenis Joseph Barrow2008-08-27
| | | | | | | | | | Fixes dev_kfree_skb happening too many times when hso_start_net_device is called from hso_resume. Signed-off-by: Denis Joseph Barrow <D.Barow@option.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] hso: icon 322 detection fixDenis Joseph Barrow2008-08-27
| | | | | | | | | Fixes Icon-322 detection. Signed-off-by: Denis Joseph Barrow <D.Barow@option.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* atl1: disable TSO by defaultJay Cliburn2008-08-27
| | | | | | | | | | | | | | | The atl1 driver is causing stalled connections and file corruption whenever TSO is enabled. Two examples are here: http://lkml.org/lkml/2008/7/15/325 http://lkml.org/lkml/2008/8/18/543 Disable TSO by default until we can determine the source of the problem. Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net> cc: stable@kernel.org Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* atl1e: multistatement if missing bracesIlpo Järvinen2008-08-27
| | | | | | | Doesn't cause problems (yet) because err gets zeroed earlier. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* igb: remove 82576 quad adapterAlexander Duyck2008-08-27
| | | | | | | | | Disable support for device 8086:10E8. Currently the result of loading the driver with the device present causes system instability. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* drivers/net/skfp/ess.c: fix compile warningsTakashi Iwai2008-08-27
| | | | | | | | | | | | | | CC [M] drivers/net/skfp/ess.o drivers/net/skfp/ess.c: In function 'ess_send_response': drivers/net/skfp/ess.c:513: warning: cast from pointer to integer of different size drivers/net/skfp/ess.c: In function 'ess_send_alc_req': drivers/net/skfp/ess.c:609: warning: cast from pointer to integer of different size drivers/net/skfp/ess.c:639: warning: cast from pointer to integer of different size Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* [netdrvr] fix build issue: undefined reference to `NS8390p_init'Alan Cox2008-08-27
| | | | | Signed-off-by: Alan 'pass the paper bags' Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* fs_enet: Fix SCC Ethernet on CPM2, and crash in fs_enet_rx_napi()Heiko Schocher2008-08-27
| | | | | | | Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org> Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* igb: fix setting the number of tx queuesAlexander Duyck2008-08-27
| | | | | | | | | The real_num_tx_queues was not being set when in MSI-X only mode. This patch corrects that path so all interrupt types are correctly configured. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* igb: ethtool -d reads EICR which is incorrect as it is read on clearAlexander Duyck2008-08-27
| | | | | | | | | | | Ethtool -d is reading the EICR and ICR registers which is currently clearing these registers and masking off interrupts. To prevent this we read the EICS and ICS equivilents as they can be read without clearing or masking. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* igb: force all queues to interrupt once every 2 secondsAlexander Duyck2008-08-27
| | | | | | | | | Set the EICS bit for each of the RX queues at least once every 2 seconds to prevent the rx queues from stalling. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* r8169: balance pci_map / pci_unmap pairFrancois Romieu2008-08-27
| | | | | | | | | | | | | | The leak hurts with swiotlb and jumbo frames. Fix http://bugzilla.kernel.org/show_bug.cgi?id=9468. Heavily hinted by Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Tested-by: Alistair John Strachan <alistair@devzero.co.uk> Tested-by: Timothy J Fontaine <tjfontaine@atxconsulting.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* myri10ge: update version string to 1.4.3-1.358Brice Goglin2008-08-27
| | | | | | | Update myri10ge version string to 1.4.3-1.358. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* ixgbe: fix vlan filteringAlexander Duyck2008-08-27
| | | | | | | | | | | VLAN filtering is broken, due to reading the incorrect register for the VLAN filtering settings. Fixed by reading/writing the correct register. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* Blackfin EMAC Driver: the BF526 also supports the MAC,Mike Frysinger2008-08-27
| | | | | | | | so update things accordingly Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* Merge branch 'for-2.6.27' of git://git.marvell.com/mv643xx_eth into ↵Jeff Garzik2008-08-27
|\ | | | | | | upstream-fixes
| * mv643xx_eth: bump version to 1.3Lennert Buytenhek2008-08-24
| | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
| * mv643xx_eth: enforce multiple-of-8-bytes receive buffer size restrictionLennert Buytenhek2008-08-23
| | | | | | | | | | | | | | | | | | | | | | | | The mv643xx_eth hardware ignores the lower three bits of the buffer size field in receive descriptors, causing the reception of full-sized packets to fail at some MTUs. Fix this by rounding the size of allocated receive buffers up to a multiple of eight bytes. While we are at it, add a bit of extra space to each receive buffer so that we can handle multiple vlan tags on ingress. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
| * mv643xx_eth: fix NULL pointer dereference in rxq_process()Lennert Buytenhek2008-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we are low on memory, the assumption that every descriptor in the receive ring will have an skbuff associated with it does not hold. rxq_process() was assuming that if the receive descriptor it is working on is not owned by the hardware, it can safely be processed and handed to the networking stack. But a descriptor in the receive ring not being owned by the hardware can also happen when we are low on memory and did not manage to refill the receive ring fully. This patch changes rxq_process()'s bailout condition from "the first receive descriptor to be processed is owned by the hardware" to "the first receive descriptor to be processed is owned by the hardware OR the number of valid receive descriptors in the ring is zero". Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
| * mv643xx_eth: fix inconsistent lock semanticsLennert Buytenhek2008-08-23
| | | | | | | | | | | | | | | | | | Nicolas Pitre noted that mv643xx_eth_poll was incorrectly using non-IRQ-safe locks while checking whether to wake up the netdevice's transmit queue. Convert the locking to *_irq() variants, since we are running from softirq context where interrupts are enabled. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
| * mv643xx_eth: fix double add_timer() on the receive oom timerLennert Buytenhek2008-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 12e4ab79cd828563dc090d2117dc8626b344bc8f ("mv643xx_eth: be more agressive about RX refill") changed the condition for the receive out-of-memory timer to be scheduled from "the receive ring is empty" to "the receive ring is not full". This can lead to a situation where the receive out-of-memory timer is pending because a previous rxq_refill() didn't manage to refill the receive ring entirely as a result of being out of memory, and rxq_refill() is then called again as a side effect of a packet receive interrupt, and that rxq_refill() call then again does not succeed to refill the entire receive ring with fresh empty skbuffs because we are still out of memory, and then tries to call add_timer() on the already scheduled out-of-memory timer. This patch fixes this issue by changing the add_timer() call in rxq_refill() to a mod_timer() call. If the OOM timer was not already scheduled, this will behave as before, whereas if it was already scheduled, this patch will push back its firing time a bit, which is safe because we've (unsuccessfully) attempted to refill the receive ring just before we do this. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
| * mv643xx_eth: fix NAPI 'rotting packet' issueLennert Buytenhek2008-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a receive interrupt occurs, mv643xx_eth would first process the receive descriptors and then ACK the receive interrupt, instead of the other way round. This would leave a small race window between processing the last receive descriptor and clearing the receive interrupt status in which a new packet could come in, which would then 'rot' in the receive ring until the next receive interrupt would come in. Fix this by ACKing (clearing) the receive interrupt condition before processing the receive descriptors. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
* | bnx2x: Version updateEilon Greenstein2008-08-25
| | | | | | | | | | | | | | Version update Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: Multi QueueYitchak Gertner2008-08-25
| | | | | | | | | | | | | | | | | | | | The multi queue support is still disabled by default for the bnx2x (needs some more testing and validation), but there are 2 obvious bug in it which are fixed in this patch 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>
* | bnx2x: NAPI and interrupts enable/disableYitchak Gertner2008-08-25
| | | | | | | | | | | | | | | | Fixing the order of enabling and disabling NAPI and the interrupts 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>
* | bnx2x: NIC load failure cleanupYitchak Gertner2008-08-25
| | | | | | | | | | | | | | | | Load failures were not handled correctly 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>
* | bnx2x: Initialization structureYitchak Gertner2008-08-25
| | | | | | | | | | | | | | | | | | The TPA initialization is part of the FW internal memory initialization and so it is moved to the appropriate function 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>
* | bnx2x: HW lock timeoutEilon Greenstein2008-08-25
| | | | | | | | | | | | | | | | Increasing the lock timeout to 5 seconds instead of 1 second to minimize the chance of failures due to timeout Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: Minimize lock timeEilon Greenstein2008-08-25
| | | | | | | | | | | | | | | | | | After iSCSI boot, the HW lock should only protect the flag so only the first function will reset the chip and not then entire chip reset process Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: Fan failure mechanism on additional designEilon Greenstein2008-08-25
| | | | | | | | | | | | | | | | The A1021G board is also using the fan failure mechanism in the same way the A1022G board does Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2x: Rx work checkEilon Greenstein2008-08-25
|/ | | | | | | | | | | | The has Rx work check was wrong: when the FW was at the end of the page, the driver was already at the beginning of the next page. Since the check only validated that both driver and FW are pointing to the same place, it concluded that there is still work to be done. This caused some serious issues including long latency results on ping-pong test and lockups while unloading the driver in that condition. Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2008-08-19
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
| * removed unused #include <version.h>Huang Weiyi2008-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION. drivers/net/wireless/ath5k/base.c drivers/net/wireless/b43/main.c drivers/net/wireless/ipw2100.c drivers/net/wireless/ipw2200.c drivers/net/wireless/iwlwifi/iwl-3945.c drivers/net/wireless/iwlwifi/iwl-4965.c drivers/net/wireless/iwlwifi/iwl-5000.c drivers/net/wireless/iwlwifi/iwl-agn.c drivers/net/wireless/iwlwifi/iwl-core.c drivers/net/wireless/iwlwifi/iwl-eeprom.c drivers/net/wireless/iwlwifi/iwl-hcmd.c drivers/net/wireless/iwlwifi/iwl-power.c drivers/net/wireless/iwlwifi/iwl3945-base.c This patch removes the said #include <version.h>. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rt2x00: Fix txdone_entry_desc_flagsJochen Friedrich2008-08-18
| | | | | | | | | | | | | | | | | | | | txdone_entry_desc_flags is used with __set_bit and test_bit which bit-shift the values, so don't bit-shift the flags in the enum. Also make sure flags are initialized before being used. Signed-off-by: Jochen Friedrich <jochen@scram.de> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: Fix for another Bluetooth Coexistence SPROM Programming error for BCM4306Larry Finger2008-08-18
| | | | | | | | | | | | | | | | | | | | | | | | In trying to help users on the Ubuntu Bugzilla, I discovered another BCM4306 with the Bluetooth Coexistence programming error in the SPROM. This patch is contingent on the one that added the Linksys device with subdevice code of 0x0014. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * p54u: reset skb's data/tail pointer on requeueChristian Lamparter2008-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Only important for USB V1 Adaptors) If an incoming frame wasn't accepted by p54_rx function the skb will be reused for new frames... But, we must not forget to set the skb's data pointers into the same state in which it was initialized by p54u_init_urbs. Otherwise we either end up with 16 bytes less on every requeue, or if a new frame is worthy enough to be accepted, the data is in the wrong place (urb->transfer_buffer wasn't updated!) and mac80211 has a hard time to recognize it... Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * p54: move p54_vdcf_init to the right place.Christian Lamparter2008-08-18
| | | | | | | | | | | | | | | | | | | | priv->tx_hdr_len is set by the driver _after_ it called p54_init_common. While this isn't much a problem for any PCI or ISL3887 cards/sticks, because they don't need any extra header and therefore tx_hdr_len is zero for them... Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * iwlwifi: fix printk newlinesJiri Slaby2008-08-18
| | | | | | | | | | | | | | | | | | Add newlines at printk outputs to not break dmesg. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Zhu Yi <yi.zhu@intel.com> Cc: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * rtl8187: Add USB ID for Netgear WG111V3matthieu Barthélemy2008-08-18
| | | | | | | | | | | | | | | | Add the USB ID for a Netgear WG111v3. Signed-off-by: matthieu Barthélemy <bonsouere@gmail.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * b43: Fix for SPROM coding error in Linksys WMP54G (BCM4306/3)Larry Finger2008-08-18
| | | | | | | | | | | | | | | | | | | | The Linksys WMP54G (BCM4306/3) card in a PCI format has an SPROM coding error and needs the fix found for several other cards. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@kernel.org> [2.6.25.x, 2.6.26.x] Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath5k: Don't fiddle with MSI on suspend/resume.Michael Karcher2008-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 256b152b005e319f985f50f2a910a75ba0def74f (ath5k: don't enable MSI, we cannot handle it yet) has removed msi support, but overlooked the suspend/resume code. This patch completes msi removal. I don't consider this patch copyrightable, and thus put it into the public domain. The result is of course a base.c file dual-licensed under 3-clause-BSD and GPL. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Acked-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * p54: Fix regression due to "net: Delete NETDEVICES_MULTIQUEUE kconfig option"Christian Lamparter2008-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit b19fa1f, entitled "net: Delete NETDEVICES_MULTIQUEUE kconfig option" breaks p54pci and p54usb. Additionally, the old logic always tx'ed cts frames (if enabled) with a short preamble when [rate > 3]. (i.e. with any 802.11g rate). Of course this isn't that bad, but it's still wrong! (This patch also clarifies the meanings of some of the fields in the tx header for the hardware. -- JWL) Signed-off-by: Christian Lamparter <chunkeey@web.de> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: <stable@kernel.org> [2.6.25.x, 2.6.26.x] Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k: work around gcc ICEs (again)Adrian Bunk2008-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (I missed the fact that the original post said to apply this patch twice... -- JWL) Original commit log message: This patch works around an internal compiler error (gcc bug #37014) in all gcc 4.2 compilers and the gcc 4.3 series up to at least 4.3.1 on at least powerpc and mips. Many thanks to Andrew Pinski for analyzing the gcc bug. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* | bnx2: Fix build with VLAN_8021Q disabled.David S. Miller2008-08-15
| | | | | | | | | | | | Reported by Randy Dunlap. Signed-off-by: David S. Miller <davem@davemloft.net>
* | tun: fallback if skb_alloc() fails on big packetsRusty Russell2008-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | skb_alloc produces linear packets (using kmalloc()). That can fail, so should we fall back to making paged skbs. My original version of this patch always allocate paged skbs for big packets. But that made performance drop from 8.4 seconds to 8.8 seconds on 1G lguest->Host TCP xmit. So now we only do that as a fallback. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Max Krasnyansky <maxk@qualcomm.com> Signed-off-by: David S. Miller <davem@davemloft.net>