- 06 Feb, 2008 1 commit
-
-
Ayaz Abdulla authored
This patch fixes the issue where the transmitter and receiver must be restarted when applying new changes to certain registers. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 03 Feb, 2008 6 commits
-
-
Ayaz Abdulla authored
This patch is a critical fix for MCP77 and MCP79 devices. The feature flags were missing the define for correct mac address (DEV_HAS_CORRECT_MACADDR). Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ayaz Abdulla authored
This patch fixes the case where no multicast addresses are requested to be added to the multicast filter. The multicast mask must be set to all 1's instead of all 0's. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ayaz Abdulla authored
This patch fixes the tx pause enable watermark flags. The new values where determined to be optimal during testing. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ayaz Abdulla authored
This patch updates the copyright section to include 2007 and 2008. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ayaz Abdulla authored
The driver should inform the stack when checksum has been performed by the HW when both IP and TCP (or UDP) checksum flags are indicated by HW. Previously, it would also inform the stack when only IP checksum flag was indicated by HW. This can cause data corruption when IP fragments are used. The IP Identification field can wrap around and cause data from new fragments to fill into older fragment slots with same IP Id. The stack would then not perform TCP/UDP checksum (after re-assembly of all fragments) since driver falsely stated it was already calculated. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ayaz Abdulla authored
This patch fixes the reset register definition from 0x3C to 0x34. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 28 Jan, 2008 1 commit
-
-
Al Viro authored
* misannotation: struct register_test members are actually host-endian * bug: cpu_to_le64(n) >> 32 instead of cpu_to_le32(n >> 32) in setting ->bufhigh and similar for ->buflow (take low bits, _then_ convert to little-endian, not the other way round). * bug: setup_hw_rings() should not convert to little-endian at all (we feed the result to writel(), not store in shared data structure), let alone try to play with shifting and masking little-endian values. Introduced when setup_hw_rings() went in, screwed both 64bit case and the old code for 32bit rings it had replaced. Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 09 Jan, 2008 1 commit
-
-
Björn Steinbrink authored
For cards that initially have the MAC address stored in reverse order, the forcedeth driver uses a flag to signal whether the address was already corrected, so that it is not reversed again on a subsequent probe. Unfortunately this flag, which is stored in a register of the card, seems to get lost during suspend, resulting in the MAC address being reversed again. To fix that, the MAC address needs to be written back in reversed order before we suspend and the flag needs to be reset. The flag is still required because at least kexec will never write back the reversed address and thus needs to know what state the card is in. Signed-off-by:
Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 23 Nov, 2007 2 commits
-
-
Ayaz Abdulla authored
Fix a long boot delay in the forcedeth driver. During initialization, the timeout for the handshake between mgmt unit and driver can be very long. The patch reduces the timeout by eliminating a extra loop around the timeout logic. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9308 Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Cc: Alex Howells <astinus@gentoo.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Ayaz Abdulla authored
This patch adds new device ids and features for mcp79 devices into the forcedeth driver. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- 25 Oct, 2007 1 commit
-
-
Ayaz Abdulla authored
Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- 17 Oct, 2007 2 commits
-
-
Manfred Spraul authored
pci_enable_msi() replaces the INTx irq number in pci_dev->irq with the new MSI irq number. The forcedeth driver did not update the copy in netdevice->irq and parts of the driver used the stale copy. See bugzilla.kernel.org, bug 9047. The patch - updates netdevice->irq - replaces all accesses to netdevice->irq with pci_dev->irq. The patch is against 2.6.23.1. IMHO suitable for both 2.6.23 and 2.6.24 Signed-Off-By:
Manfred Spraul <manfred@colorfullife.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Ingo Molnar authored
The merge of my previous fix to forcedeth.c, bcb5febb , lost an important hunk. We need to fix nv_rx_process_optimized() too, as it contains duplicate logic. Signed-off-by:
Ingo Molnar <mingo@elte.hu> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 16 Oct, 2007 3 commits
-
-
Jeff Garzik authored
A copy of struct net_device_stats now lives in struct net_device, making in-driver copies a waste of memory. Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jeff Garzik authored
main change: * greatly improve per-NIC probe diagnostic output. Similar to other net drivers, print out MAC address, PHY info, and various hardware and software flags that may be relevant. other changes: * similar to other net drivers, only print the initial version message when we have found at least one board. * don't bother to print error message when pci_enable_device() fails, it will do so for us. * use dev_printk() rather than printk() in nv_probe(). This gives use a standardized output similar to the rest of the kernel, and eliminates the need to manually print out PCI bus id. * use DRV_NAME constant where appropriate * clean struct pci_driver indentation Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Ingo Molnar authored
fix the forcedeth NAPI poll function to not emit this warning: [ 186.635916] WARNING: at net/core/dev.c:2166 net_rx_action() [ 186.641351] [<c060d9f5>] net_rx_action+0x145/0x1b0 [ 186.646191] [<c011d752>] __do_softirq+0x42/0x90 [ 186.650784] [<c011d7c6>] do_softirq+0x26/0x30 [ 186.655202] [<c011db48>] local_bh_enable+0x48/0xa0 [ 186.660055] [<c06023e0>] lock_sock_nested+0xa0/0xc0 [ 186.664995] [<c065da16>] tcp_recvmsg+0x16/0xbc0 [ 186.669588] [<c013e94b>] __generic_file_aio_write_nolock+0x27b/0x520 [ 186.676001] [<c0601d75>] sock_common_recvmsg+0x45/0x70 [ 186.681202] [<c05ff5df>] sock_aio_read+0x11f/0x140 [ 186.686054] [<c015c086>] do_sync_read+0xc6/0x110 [ 186.690735] [<c012b9b0>] autoremove_wake_function+0x0/0x40 [ 186.696280] [<c060dcfc>] net_tx_action+0x3c/0xe0 [ 186.700961] [<c015c9c2>] vfs_read+0x132/0x140 [ 186.705378] [<c015cd41>] sys_read+0x41/0x70 [ 186.709625] [<c0102b66>] sysenter_past_esp+0x5f/0x89 [ 186.714651] ======================= Signed-off-by:
Ingo Molnar <mingo@elte.hu> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- 10 Oct, 2007 6 commits
-
-
Ed Swierk authored
Log "no link during initialization" at KERN_INFO as it's not an error, and occurs every time the interface comes up (when the forcedeth-phy-power-down patch is applied). Signed-off-by:
Ed Swierk <eswierk@arastra.com> Cc: Ayaz Abdulla <aabdulla@nvidia.com> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jeff Garzik authored
These have been superceded by the new ->get_sset_count() hook. Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Joe Perches authored
This is nicer than the MAC_FMT stuff. Signed-off-by:
Joe Perches <joe@perches.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jeff Garzik authored
For the operations get-tx-csum get-sg get-tso get-ufo the default ethtool_op_xxx behavior is fine for all drivers, so we permit op==NULL to imply the default behavior. This provides a more uniform behavior across all drivers, eliminating ethtool(8) "ioctl not supported" errors on older drivers that had not been updated for the latest sub-ioctls. The ethtool_op_xxx() functions are left exported, in case anyone wishes to call them directly from a driver-private implementation -- a not-uncommon case. Should an ethtool_op_xxx() helper remain unused for a while, except by net/core/ethtool.c, we can un-export it at a later date. [ Resolved conflicts with set/get value ethtool patch... -DaveM ] Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ralf Baechle authored
It's been a useless no-op for long enough in 2.6 so I figured it's time to remove it. The number of people that could object because they're maintaining unified 2.4 and 2.6 drivers is probably rather small. [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ] Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Stephen Hemminger authored
Several devices have multiple independant RX queues per net device, and some have a single interrupt doorbell for several queues. In either case, it's easier to support layouts like that if the structure representing the poll is independant from the net device itself. The signature of the ->poll() call back goes from: int foo_poll(struct net_device *dev, int *budget) to int foo_poll(struct napi_struct *napi, int budget) The caller is returned the number of RX packets processed (or the number of "NAPI credits" consumed if you want to get abstract). The callee no longer messes around bumping dev->quota, *budget, etc. because that is all handled in the caller upon return. The napi_struct is to be embedded in the device driver private data structures. Furthermore, it is the driver's responsibility to disable all NAPI instances in it's ->stop() device close handler. Since the napi_struct is privatized into the driver's private data structures, only the driver knows how to get at all of the napi_struct instances it may have per-device. With lots of help and suggestions from Rusty Russell, Roland Dreier, Michael Chan, Jeff Garzik, and Jamal Hadi Salim. Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra, Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan. [ Ported to current tree and all drivers converted. Integrated Stephen's follow-on kerneldoc additions, and restored poll_list handling to the old style to fix mutual exclusion issues. -DaveM ] Signed-off-by:
Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 25 Aug, 2007 1 commit
-
-
Willy Tarreau authored
As noticed by Chuck Ebbert, commit c5e3ae88 introduced a copy-paste typo, as realtek phy is 0x732 and not 0x1c1. Obvious fix below suggested by Ayaz Abdulla. Signed-off-by:
Willy Tarreau <w@1wt.eu> Cc: Ayaz Abdulla <aabdulla@nvidia.com> Cc: Chuck Ebbert <cebbert@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 18 Aug, 2007 1 commit
-
-
Timo Jantunen authored
If the forcedeth driver receives too much work in an interrupt, it assumes it has a broken hardware with stuck IRQ. It works around the problem by disabling interrupts on the nic but makes a printk while holding device spinlog - which isn't smart thing to do if you have netconsole on the same nic. This patch moves the printk's out of the spinlock protected area. Without this patch the machine hangs hard. With this patch everything still works even when there is significant increase on CPU usage while using the nic. Signed-off-by:
Timo Jantunen <jeti@iki.fi> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 31 Jul, 2007 1 commit
-
-
Matthew Wilcox authored
All drivers implement ethtool get_perm_addr the same way -- by calling the generic function. So we can inline the generic function into the caller and avoid going through the drivers. Signed-off-by:
Matthew Wilcox <matthew@wil.cx> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 30 Jul, 2007 1 commit
-
-
Ayaz Abdulla authored
In older chipsets, the mac address was stored in reversed order. However, in newer chipsets, the mac address is in correct order. This patch takes those newer chipsets into account and does not rely on a special bit setup by BIOS'. Signed-Off-By:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 24 Jul, 2007 1 commit
-
-
Ayaz Abdulla authored
This patch contains new device settings for MCP73 chipset. Signed-Off-By:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 19 Jul, 2007 1 commit
-
-
Yoann Padioleau authored
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by:
Yoann Padioleau <padator@wanadoo.fr> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Acked-by:
Russell King <rmk@arm.linux.org.uk> Cc: Bryan Wu <bryan.wu@analog.com> Acked-by:
Jiri Slaby <jirislaby@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Acked-by:
Roland Dreier <rolandd@cisco.com> Cc: Jiri Kosina <jkosina@suse.cz> Acked-by:
Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by:
Mauro Carvalho Chehab <mchehab@infradead.org> Acked-by:
Pierre Ossman <drzeus-list@drzeus.cx> Cc: Jeff Garzik <jeff@garzik.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by:
Greg KH <greg@kroah.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 16 Jul, 2007 3 commits
-
-
Ayaz Abdulla authored
This patch contains errata fixes for the realtek phy. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Ayaz Abdulla authored
This patch contains errata fixes for the vitesse phy. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Ayaz Abdulla authored
This patch contains errata fixes for the cicada phy. It only renamed the defines to be phy specific. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 11 Jul, 2007 1 commit
-
-
Auke Kok authored
Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by:
Auke Kok <auke-jan.h.kok@intel.com> Acked-by:
Dave Jones <davej@redhat.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@suse.de>
-
- 20 Jun, 2007 1 commit
-
-
Tim Mann authored
I happened to notice that a system with an NVidia NIC using the forcedeth driver won't wake-on-LAN if the interface was in promiscuous mode when you power off. By experiment, it looks like the hardware needs to have NvRegPacketFilterFlags set to NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR (i.e., receive unicast packets to my address) in order for WoL to work. Jeff Garzik writes: "NVIDIA says the patch looks OK." I didn't venture to insert a signed-off-by line with his name on it, though. Signed-off-by:
Tim Mann <mann@vmware.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 03 Jun, 2007 1 commit
-
-
Stephen Hemminger authored
Many drivers had code that did kill_vid, but they weren't doing vlan filtering. With new API the stub is unneeded unless device sets NETIF_F_HW_VLAN_FILTER. Bad habit: I couldn't resist fixing a couple of nearby style things in acenic, and forcedeth. Signed-off-by:
Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 24 May, 2007 1 commit
-
-
Ayaz Abdulla authored
This patch fixes the cpu irq mask define to include the timer irq. Another flag check was setting up the timer bit in all cases so we didn't notice the issue. Signed-off-by:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
- 25 Apr, 2007 3 commits
-
-
Arnaldo Carvalho de Melo authored
Reducing the number of skb->data direct accesses. Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Arnaldo Carvalho de Melo authored
Now to convert the last one, skb->data, that will allow many simplifications and removal of some of the offset helpers. Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Arnaldo Carvalho de Melo authored
One less thing for drivers writers to worry about. Signed-off-by:
Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- 28 Mar, 2007 1 commit
-
-
Ayaz Abdulla authored
The tx timeout routine was waking the tx queue conditionally. However, it must call it unconditionally since the dev_watchdog has halted the tx queue before calling the timeout function. Signed-Off-By:
Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-