summaryrefslogtreecommitdiffstats
path: root/drivers/net/8139cp.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag '8139cp-20060912-00' of ↵Jeff Garzik2006-09-131-63/+51
|\ | | | | | | git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into tmp
| * 8139cp: ring_info removal for the transmit pathFrancois Romieu2006-09-121-19/+13
| | | | | | | | | | | | | | | | | | As long as the descriptor fits on a single cacheline, the change should be almost free. Now ring_info is not used at all. Remove it. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: use PCI_DEVICE() to shorten the PCI device tableFrancois Romieu2006-08-311-4/+2
| | | | | | | | Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: pci_get_drvdata(pdev) can not be NULL in suspend handlerFrançois Romieu2006-08-311-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) pci_set_drvdata() is used in cp_{init/remove}_one to initialize/reset driver_data to the relevant value (resp. net_device * and NULL). 2) each of the 3 relevant functions is issued under (device *)->sem: 2.1) pci_unregister_driver -> driver_unregister -> bus_remove_driver -> driver_detach (takes (device *)->sem) -> __device_release_driver(dev) -> dev->bus-remove(dev) (== pci_device_remove) -> drv->remove(pdev) (== cp_remove_one) [...] pci_dev->driver = NULL; 2.2) pci_register_driver -> __pci_register_driver -> driver_register -> bus_add_driver -> driver_attach -> __driver_attach (takes (device *)->sem) -> driver_probe_device(drv, dev) -> dev->bus->probe(dev) (== pci_device_probe) -> _pci_device_probe(drv, pci_dev) -> pci_call_probe(drv, pci_dev, id) -> drv->probe(dev, id) (== cp_init_one) [...] pci_dev->driver = drv; 2.3) suspend_device (takes (device *)->sem) -> dev->bus->suspend(dev) (== pci_device_suspend) checking for drv = pci_dev->driver != NULL [...] -> drv->suspend(pci_dev, state) (== cp_suspend) dev->sem and the state of pci_dev->driver provide the expected result. St Mary's day was a bit rainy here. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: removal of useless BUG_ON() checkFrancois Romieu2006-08-311-1/+0
| | | | | | | | | | | | | | netdev_priv() will provide a nice oops a few lines before the BUG_ON() check. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: sync the device private data with its r8169 counterpartFrancois Romieu2006-08-311-6/+6
| | | | | | | | | | | | | | | | | | struct cp_private is reorganized to be more easily compared between the r8169 and the 8139cp drivers. The alignment should not be impacted. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: ring_info removal for the receive pathFrancois Romieu2006-08-311-7/+7
| | | | | | | | | | | | | | The ring_info.len field is not used at all. cp_private.rx_skb is turned into an array of sk_buff *. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: remove gratuitous indirectionFrancois Romieu2006-08-311-2/+2
| | | | | | | | | | | | dev is an argument of the current function. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
| * 8139cp: trim ring_infoFrancois Romieu2006-08-311-17/+16
| | | | | | | | | | | | Fat removal: the mapping address is available from the Rx/Tx descriptors. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
* | Merge branch 'tmp' into upstreamJeff Garzik2006-09-121-3/+1
|\ \
| * | [PATCH] Remove more unnecessary driver printk'sAndy Gospodarek2006-09-121-3/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | As I promised last week, here is the first pass at removing all unnecessary printk's that exist in network device drivers currently in promiscuous mode. The duplicate messages are not needed so they have been removed. Some of these drivers are quite old and might not need an update, but I did them all anyway. I am currently auditing the remaining conditional printk's and will send out a patch for those soon. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* / drivers/net: Remove deprecated use of pci_module_init()Jeff Garzik2006-08-191-1/+1
|/ | | | | | | From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] 8139cp.c printk fixAndrew Morton2006-07-121-1/+1
| | | | | | | | | drivers/net/8139cp.c: In function 'cp_init_one': drivers/net/8139cp.c:1919: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' drivers/net/8139cp.c:1919: warning: format '%lx' expects type 'long unsigned int', but argument 5 has type 'resource_size_t' Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [netdrvr] use dev_xxx() printk helpers, rather than dev_printk(KERN_xxx, ...Jeff Garzik2006-07-051-10/+7
| | | | | | Suggested by Jiri Slaby. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [netdrvr] Use dev_printk() when ethernet interface isn't availableJeff Garzik2006-07-051-16/+22
| | | | | | | | | | For messages prior to register_netdev(), prefer dev_printk() because that prints out both our driver name and our [PCI | whatever] bus id. Updates: 8139{cp,too}, b44, bnx2, cassini, {eepro,epic}100, fealnx, hamachi, ne2k-pci, ns83820, pci-skeleton, r8169. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] irq-flags: drivers/net: Use the new IRQF_ constantsThomas Gleixner2006-07-021-1/+1
| | | | | | | | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Remove obsolete #include <linux/config.h>Jörn Engel2006-06-301-1/+0
| | | | | Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* [PATCH] 64bit Resource: convert a few remaining drivers to use ↵Greg Kroah-Hartman2006-06-271-1/+1
| | | | | | | | | | resource_size_t where needed Based on a patch series originally from Vivek Goyal <vgoyal@in.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] 64bit resource: fix up printks for resources in networks driversGreg Kroah-Hartman2006-06-271-4/+5
| | | | | | | | | | This is needed if we wish to change the size of the resource structures. Based on an original patch from Vivek Goyal <vgoyal@in.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [NET]: Merge TSO/UFO fields in sk_buffHerbert Xu2006-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* [PATCH] 8139cp: add ethtool eeprom supportPhilip Craig2006-06-231-12/+167
| | | | | | | | 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>
* [PATCH] 8139cp: fix eeprom read command lengthPhilip Craig2006-06-231-1/+1
| | | | | | | | | 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>
* [netdrvr] trim trailing whitespace: 8139*.c, epic100, forcedeth, tulip/*Jeff Garzik2006-05-271-7/+7
|
* BUG_ON() Conversion in drivers/net/Eric Sesterhenn2006-04-021-8/+4
| | | | | | | | 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>
* Massive net driver const-ification.Arjan van de Ven2006-03-041-1/+1
|
* 8139cp: fix broken suspend/resumeFrancois Romieu2006-02-271-16/+21
| | | | | | | | | | | - 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>
* Merge /spare/repo/linux-2.6/Jeff Garzik2005-09-221-23/+23
|\
| * [PATCH] 8139cp: allocate statistics space only when neededStephen Hemminger2005-09-161-23/+23
| | | | | | | | | | | | | | | | 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>
* | [PATCH] drivers/net: fix-up schedule_timeout() usageNishanth Aravamudan2005-09-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
* | [PATCH] 8139cp: support ETHTOOL_GPERMADDRJohn W. Linville2005-09-141-0/+2
|/ | | | | | | Add support for ETHTOOL_GPERMADDR to 8139cp. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] 8139cp - redetect link after suspendPierre Ossman2005-08-181-0/+7
| | | | | | | | 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>
* [NET]: Remove gratuitous use of skb->tail in network drivers.David S. Miller2005-06-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* 8139cp: safer spin loop for get_statisticsStephen Hemminger2005-06-271-6/+6
| | | | | | | | 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.
* Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6.Jeff Garzik2005-06-261-31/+69
|\
| * [PATCH] 8139cp net driver: add MODULE_VERSION2005-05-131-0/+1
| |
| * [PATCH] 8139cp - add netpoll supportSteffen Klassert2005-05-131-0/+19
| | | | | | | | | | | | | | | | | | 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>
| * [PATCH] 8139cp - module_paramStephen Hemminger2005-05-131-2/+3
| | | | | | | | | | | | | | 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>
| * [PATCH] 8139cp: SG support fixesFrancois Romieu2005-05-131-12/+13
| | | | | | | | | | | | - 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.
| * [netdrvr 8139cp] TSO supportJeff Garzik2005-05-131-17/+33
| |
* | [PATCH] drivers/net/8139cp: Use the DMA_{64, 32}BIT_MASK constantsTobias Klauser2005-05-131-4/+5
|/ | | | | | | | | | | 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>
* [PATCH] u32 vs. pm_message_t fixes for drivers/netPavel Machek2005-04-171-1/+1
| | | | | | | | 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>
* Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds2005-04-171-0/+1904
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!