Commit Graph

73 Commits

Author SHA1 Message Date
Herbert Xu 7967168cef [NET]: Merge TSO/UFO fields in sk_buff
Having separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not
going to scale if we add any more segmentation methods (e.g., DCCP).  So
let's merge them.

They were used to tell the protocol of a packet.  This function has been
subsumed by the new gso_type field.  This is essentially a set of netdev
feature bits (shifted by 16 bits) that are required to process a specific
skb.  As such it's easy to tell whether a given device can process a GSO
skb: you just have to and the gso_type field and the netdev's features
field.

I've made gso_type a conjunction.  The idea is that you have a base type
(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.
For example, if we add a hardware TSO type that supports ECN, they would
declare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would
have a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO
packets would be SKB_GSO_TCPV4.  This means that only the CWR packets need
to be emulated in software.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-06-23 02:07:29 -07:00
Philip Craig 722fdb3359 [PATCH] 8139cp: add ethtool eeprom support
Implement the ethtool eeprom operations for the 8139cp driver.
Tested on x86 and big-endian ARM.

Signed-off-by: Philip Craig <philipc@snapgear.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-22 23:20:29 -04:00
Philip Craig d73f1e3c3b [PATCH] 8139cp: fix eeprom read command length
The read command for the 93C46/93C56 EEPROMS should be 3 bits plus
the address.  This doesn't appear to affect the operation of the
read command, but similar errors for write commands do cause failures.

Signed-off-by: Philip Craig <philipc@snapgear.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-06-22 23:20:29 -04:00
Jeff Garzik f3b197ac26 [netdrvr] trim trailing whitespace: 8139*.c, epic100, forcedeth, tulip/* 2006-05-26 21:39:03 -04:00
Eric Sesterhenn 5d9428de1a BUG_ON() Conversion in drivers/net/
this changes if() BUG(); constructs to BUG_ON() which is
cleaner, contains unlikely() and can better optimized away.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-04-02 13:52:48 +02:00
Arjan van de Ven f71e130966 Massive net driver const-ification. 2006-03-03 21:33:57 -05:00
Francois Romieu 576cfa934e 8139cp: fix broken suspend/resume
- check that the device is up before it is enabled again;
- the descriptor ring indexes must be set to zero before
  cp_init_hw() is issued. Add a nice comment to remember
  that skb allocation failure is still not handled.

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=5681

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2006-02-27 23:15:06 +01:00
Jeff Garzik a3536c839f Merge /spare/repo/linux-2.6/ 2005-09-21 22:34:08 -04:00
Stephen Hemminger 8b51292764 [PATCH] 8139cp: allocate statistics space only when needed
Don't crash if ethtool statistics are requested and device is down.
Fix is to allocate pci space for statistics only when needed.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-16 02:51:31 -04:00
Nishanth Aravamudan 3173c8907f [PATCH] drivers/net: fix-up schedule_timeout() usage
Use schedule_timeout_interruptible() instead of
set_current_state()/schedule_timeout() to reduce kernel size.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-14 08:33:24 -04:00
John W. Linville bb0ce608a3 [PATCH] 8139cp: support ETHTOOL_GPERMADDR
Add support for ETHTOOL_GPERMADDR to 8139cp.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-09-14 08:29:31 -04:00
Pierre Ossman a4cf076149 [PATCH] 8139cp - redetect link after suspend
After suspend the driver needs to retest link status in case the cable
has been inserted or removed during the suspend.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-18 16:59:14 -04:00
David S. Miller 689be43945 [NET]: Remove gratuitous use of skb->tail in network drivers.
Many drivers use skb->tail unnecessarily.

In these situations, the code roughly looks like:

	dev = dev_alloc_skb(...);

	[optional] skb_reserve(skb, ...);

	... skb->tail ...

But even if the skb_reserve() happens, skb->data equals
skb->tail.  So it doesn't make any sense to use anything
other than skb->data in these cases.

Another case was the s2io.c driver directly mucking with
the skb->data and skb->tail pointers.  It really just wanted
to do an skb_reserve(), so that's what the code was changed
to do instead.

Another reason I'm making this change as it allows some SKB
cleanups I have planned simpler to merge.  In those cleanups,
skb->head, skb->tail, and skb->end pointers are removed, and
replaced with skb->head_room and skb->tail_room integers.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
2005-06-28 15:25:31 -07:00
Stephen Hemminger 97f568d8e3 8139cp: safer spin loop for get_statistics
The spin loop in 8139cp is limited to 100 iterations when pulling hardware
stats. There is no allowance for processor speed so on a fast machine, the
stats may not be available that fast. Also, if the board doesn't return
soon enough make sure turn the address back off to prevent later updates
when memory has gone away.
2005-06-26 18:02:44 -04:00
Jeff Garzik 8b0ee07e10 Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6. 2005-06-26 17:11:03 -04:00
Tobias Klauser 8662d06171 [PATCH] drivers/net/8139cp: Use the DMA_{64, 32}BIT_MASK constants
The previous patch did not compile cleanly on all architectures so
  here's a fixed one.
  
  Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling
  pci_set_dma_mask() or pci_set_consistent_dma_mask()
  
  Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
  Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-05-12 22:19:39 -04:00
a78d892796 [PATCH] 8139cp net driver: add MODULE_VERSION 2005-05-12 19:35:42 -04:00
Steffen Klassert 7502cd1058 [PATCH] 8139cp - add netpoll support
Patch adds netpoll support to the 8139cp driver.
  The patch needs some tests because I have no NIC of this type for testing.
  
  Applies against linux-2.6.9-rc2-mm3
  
  Signed-off-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
2005-05-12 19:34:31 -04:00
Stephen Hemminger e21ba28262 [PATCH] 8139cp - module_param
Not sure if I sent this already...
  Convert 8139cp to use new module_param() not old MODULE_PARM
  
  Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
2005-05-12 19:33:26 -04:00
Francois Romieu 5734418d4f [PATCH] 8139cp: SG support fixes
- suspicious length in pci_unmap_single;
  - wait for the last frag before freeing the relevant skb;
  - no need to crash when facing some unexpected csum combination.
2005-05-12 19:31:31 -04:00
Jeff Garzik fcec345658 [netdrvr 8139cp] TSO support 2005-05-12 19:28:49 -04:00
Pavel Machek 05adc3b745 [PATCH] u32 vs. pm_message_t fixes for drivers/net
This fixes remaining u32s in drivers/ net.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:25 -07:00
Linus Torvalds 1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00