- Aug 06, 2008
-
-
Jay Cliburn authored
The L1 hardware contains a bug that flags a fragmented IP packet as having an incorrect TCP/UDP checksum, even though the packet is perfectly valid and its checksum is correct. There's no way to distinguish between one of these good packets and a packet that actually contains a TCP/UDP checksum error, so all we can do is allow the packet to be handed up to the higher layers and let it be sorted out there. Add a comment describing this condition and remove the code that currently fails to handle what may or may not be a checksum error. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Jul 21, 2008
-
-
David S. Miller authored
Based upon a bug report by Alexey Dobriyan, the patch is also tested by him and confirmed to fix the problem. Packet flow during link state events should not be done by waking and stopping the TX queue anyways, that is handled transparently by netif_carrier_{on,off}(). So, remove the netif_{wake,stop}_queue() calls in the link check code, and add the necessary netif_start_queue() call to atl1_up(). Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jun 17, 2008
-
-
Radu Cristescu authored
The atl1 driver tries to determine the MAC address thusly: - If an EEPROM exists, read the MAC address from EEPROM and validate it. - If an EEPROM doesn't exist, try to read a MAC address from SPI flash. - If that fails, try to read a MAC address directly from the MAC Station Address register. - If that fails, assign a random MAC address provided by the kernel. We now have a report of a system fitted with an EEPROM containing all zeros where we expect the MAC address to be, and we currently handle this as an error condition. Turns out, on this system the BIOS writes a valid MAC address to the NIC's MAC Station Address register, but we never try to read it because we return an error when we find the all- zeros address in EEPROM. This patch relaxes the error check and continues looking for a MAC address even if it finds an illegal one in EEPROM. Signed-off-by:
Radu Cristescu <advantis@gmx.net> Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Jun 10, 2008
-
-
Jay Cliburn authored
Using vendor magic to force the PHY into power save mode breaks suspend. It isn't needed anyway, so remove it. Tested-by:
Avuton Olrich <avuton@gmail.com> Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- May 30, 2008
-
-
Alexey Dobriyan authored
When using 4+ GB RAM and SWIOTLB is active, the driver corrupts memory by writing an skb after the relevant DMA page has been unmapped. Although this doesn't happen when *not* using bounce buffers, clearing the pointer to the DMA page after unmapping it fixes the problem. http://marc.info/?t=120861317000005&r=2&w=2 Signed-off-by:
Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- May 22, 2008
-
-
Stephen Hemminger authored
Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev and can be overriden for NUMA machines. Signed-off-by:
Stephen Hemminger <shemminger@vyatta.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- May 21, 2008
-
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- May 12, 2008
-
-
Jay Cliburn authored
atl1-2.1.3. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jay Cliburn authored
Add a shutdown callback that points to atl1_suspend(). This, along with a working suspend function, fixes wake-on-lan. Tested-by:
Per Olofsson <pelle@dsv.su.se> Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jay Cliburn authored
Fix atl1_suspend() and atl1_resume() so they actually work. We'll use the suspend function for wake-on-lan in addition to just suspending. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Jay Cliburn authored
Using vendor-provided magic, add code to enter power save mode on the PHY. We'll need this for suspend and wake-on-lan. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Apr 25, 2008
-
-
Chris Snook authored
Move some code from atlx.c to atl1.c to prevent build conflict with the upcoming atl2 code. No changes, just movement. Signed-off-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
Chris Snook authored
There's no good reason to manually set the flash vendor in a module parameter, outside of an Atheros hardware lab. Remove it, so nobody accidentally bricks their board using it incorrectly. Signed-off-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jgarzik@redhat.com>
-
- Mar 17, 2008
-
-
Jay Cliburn authored
Rearrange functions to allow removal of some forward declarations. Make certain global functions static along the way. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
Make needlessly global functions static. In a couple of cases this requires removing forward declarations and reordering functions. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
Add some debug printks if we encounter a potentially bad receive return descriptor. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
Use netif_msg_* for console messages emitted by the driver. Add a parameter to allow control of messaging at driver startup, and also add the ability to control it with ethtool. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
Use skb->csum_start for tx checksum offload preparation. Also swap the variables css and cso so they hold the intended values of csum start and offset, respectively. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
The transmit packet descriptor consists of four 32-bit words, with word 3 upper bits overloaded depending upon the condition of its bits 3 and 4. The driver currently duplicates all word 2 and some word 3 register bit definitions unnecessarily and also uses a set of nested structures in its definition of the TPD without good cause. This patch adds a lengthy comment describing the TPD, eliminates duplicate TPD bit definitions, and simplifies the TPD structure itself. It also expands the TSO check to correctly handle custom checksum versus TSO processing using the revised TPD definitions. Finally, shorten some variable names in the transmit processing path to reduce line lengths, rename some variables to better describe their purpose (e.g., nseg versus m), and add a comment or two to better describe what the code is doing. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
Add the ethtool register dump option to the atl1 driver. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
The L1 tx packet descriptor expects TCP Header Length to be expressed as a number of 32-bit dwords. The atl1 driver uses tcp_hdrlen() to populate the field, but tcp_hdrlen() returns the header length in bytes, not in dwords. Add a shift to convert tcp_hdrlen() to dwords when we write it to the tpd. Also, some of our bit assignments are made to the wrong tpd words. Change those to the correct words. Finally, since all this fixes TSO, enable TSO by default. Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Acked-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
The future atl2 driver and the existing atl1 driver can share certain functions and definitions. Move these shareable functions and definitions out of atl1-specific files and into atlx.c and atlx.h. Some transitory hackery will be present until atl2 is merged. Reduce the number of source files by moving ethtool, hw, and param functions from separate files into atl1_main.c, then rename it to just atl1.c. Move all atl1-specific definitions from atl1_hw.h to atl1.h. Finally, clean up to make checkpatch.pl happy. Signed-off-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-
Jay Cliburn authored
In preparation for a future Atheros L2 NIC driver (called atl2), relocate the atl1 driver into a new /drivers/net/atlx directory that will ultimately be shared with the future atl2 driver. Signed-off-by:
Chris Snook <csnook@redhat.com> Signed-off-by:
Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by:
Jeff Garzik <jeff@garzik.org>
-