08 Aug, 2008

2 commits


07 Aug, 2008

38 commits

  • Use a single enum for managing modes, store supported modes by
    the HW in a bitmask.
    Register legacy rates with mac80211 only at init.

    Signed-off-by: Sujith Manoharan
    Signed-off-by: John W. Linville

    Sujith
     
  • Signed-off-by: Sujith Manoharan
    Signed-off-by: John W. Linville

    Sujith
     
  • Signed-off-by: Sujith Manoharan
    Signed-off-by: John W. Linville

    Sujith
     
  • Signed-off-by: Sujith Manoharan
    Signed-off-by: John W. Linville

    Sujith
     
  • Use ath9k_tx_queue_info which contains the same elements,
    and merge get/set functions of tx queue properties.
    Also, fix whitespace damage in struct ath_softc.

    Signed-off-by: Sujith Manoharan
    Signed-off-by: John W. Linville

    Sujith
     
  • Signed-off-by: Sujith Manoharan
    Signed-off-by: John W. Linville

    Sujith
     
  • 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
    Signed-off-by: John W. Linville

    Adrian Bunk
     
  • This adds the new mac80211 11n ath9k Atheros driver. Only STA support
    is currently enabled and tested.

    Signed-off-by: Senthil Balasubramanian
    Signed-off-by: Felix Fietkau
    Signed-off-by: Jack Howarth
    Signed-off-by: Jouni Malinen
    Signed-off-by: Sujith Manoharan
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: Pavel Roskin
    Signed-off-by: Vasanthakumar Thiagarajan
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • Remove Atheros 11n devices from being claimed by ath5k as its
    now handled by ath9k.

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • This adds list_cut_position() which lets you cut a list into
    two lists given a pivot in the list.

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • If you are using linked lists for queues list_splice() will not do what
    you would expect even if you use the elements passed reversed. We need
    to handle these differently. We add list_splice_tail() and
    list_splice_tail_init().

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • these "magic" values must to be the other way round...

    Signed-off-by: Christian Lamparter
    Signed-off-by: John W. Linville

    Christian Lamparter
     
  • It was possible for unsupported operating modes
    to be accepted by the add_interface callback function.
    This patch will block those modes until proper support
    has been implemented for them.

    Signed-off-by: Ivo van Doorn
    Signed-off-by: John W. Linville

    Ivo van Doorn
     
  • Currently a mesh node will not forward a multicast frame if it is not subscribed
    to the specific multicast address. This patch addresses the issue and fixes mesh
    multicast forwarding.

    Signed-off-by: Luis Carlos Cobo
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Luis Carlos Cobo
     
  • Now we deal with mesh forwarding before the 802.11->802.3 conversion, thus
    eliminating a few unnecessary steps. The next hop lookup is called from
    ieee80211_master_start_xmit() instead of subif_start_xmit(). Until the next hop
    is found, RA in the frame will be all zeroes for frames originating from the
    device. For forwarded frames, RA will contain the TA of the received frame,
    which will be necessary to send a path error if a next hop is not found.

    Signed-off-by: Luis Carlos Cobo
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Luis Carlos Cobo
     
  • Following "mac80211: fix TX sequence numbers", if a packet
    has the IEEE80211_TX_CTL_ASSIGN_SEQ assigned, a sequence number must be
    supplied, either by hardware or software. AFAIK, no such hardware exists
    for the p54, thus it must be done in software. With this patch, a connection
    qith p54usb is stable, whereas the interface went off-line in 2-3 hours
    without this change. Note that this code will have to be reworked for proper
    sequence numbers on beacons. In addition, the sequence number has been placed
    in the hardware state, not the vif state.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     
  • This patch cleans up iwl_tx_skb function.

    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville

    Tomas Winkler
     
  • Sofar far pktgen have had a restriction to only use one device per kernel
    thread. With the new multiqueue architecture this is no longer adequate.

    The patch below is an effort to remove this by in pktgen configuration
    adding a tag to the device name a la eth0@0 etc. The tag is used for
    usual device config just as before. Also a new flag is introduced to mirror
    queue_map with sending threads smp_processor_id() QUEUE_MAP_CPU.

    An example: We use 4 CPU's to send to one 10g interface (eth0)
    and we use the new tagging to send a mix of packet sizes, 64, 576 and
    1500 bytes. Also we use TX queues according to smp_processor_id()

    PGDEV=/proc/net/pktgen/kpktgend_0
    pgset "add_device eth0@0"

    PGDEV=/proc/net/pktgen/kpktgend_1
    pgset "add_device eth0@1"

    PGDEV=/proc/net/pktgen/kpktgend_2
    pgset "add_device eth0@2"

    PGDEV=/proc/net/pktgen/kpktgend_3
    pgset "add_device eth0@3"
    ....
    PGDEV=/proc/net/pktgen/eth0@0
    pgset "pkt_size 64"
    pgset "flag QUEUE_MAP_CPU"

    PGDEV=/proc/net/pktgen/eth0@1
    pgset "pkt_size 572"
    pgset "flag QUEUE_MAP_CPU"

    PGDEV=/proc/net/pktgen/eth0@2
    pgset "pkt_size 1496"

    PGDEV=/proc/net/pktgen/eth0@3
    pgset "pkt_size 1496"
    pgset "flag QUEUE_MAP_CPU"

    Signed-off-by: Robert Olsson
    Signed-off-by: David S. Miller

    Robert Olsson
     
  • David S. Miller
     
  • Jeff Garzik
     
  • Remove extra help text from HDLC_PPP config option.

    Signed-off-by: Krzysztof Hałasa
    Signed-off-by: Jeff Garzik

    Krzysztof Halasa
     
  • If a packet_type specifies an active slave to bonding and not just any
    interface, allow it to receive frames that came in on that interface.

    Signed-off-by: Joe Eykholt
    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Joe Eykholt
     
  • Allow a packet_type that specifies the exact device to receive
    even on an inactive bonding slave devices. This is important for some
    L2 protocols such as LLDP and FCoE. This can eventually be used
    for the bonding special cases as well.

    Signed-off-by: Joe Eykholt
    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Joe Eykholt
     
  • Otherwise subsequent changes need multiple return values.

    Signed-off-by: Joe Eykholt
    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Joe Eykholt
     
  • It is wrong to destroy a bonding master from a context that uses the sysfs
    of that bond. When last IPoIB slave is unenslaved from by writing to a
    sysfs file (for bond0 this would be /sys/class/net/bond0/bonding/slaves)
    the driver tries to destroy the bond. This is wrong and can lead to a
    lockup or a crash. This fix lets the bonding master stay and relies on
    the user to destroy the bonding master if necessary (i.e. before module
    ib_ipoib is unloaded)

    This patch affects only bonds of IPoIB slaves. Ethernet slaves stay
    unaffected.

    Signed-off-by: Moni Shoua
    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Moni Shoua
     
  • Refactor mii monitor. As with the previous ARP monitor refactor,
    the motivation for this is to handle locking rationally (in this case,
    removing conditional locking) and generally clean up the code.

    This patch breaks up the monolithic mii monitor into two phases:
    an inspection phase, followed by an optional commit phase. The commit phase
    is the only portion that requires RTNL or makes changes to state, and is
    only called when inspection finds something to change.

    Signed-off-by: Jay Vosburgh
    Signed-off-by: Jeff Garzik

    Jay Vosburgh
     
  • If the following packet flow happen, kernel will panic.
    MathineA MathineB
    SYN
    ---------------------->
    SYN+ACK

    When a bad seq ACK is received, tcp_v4_md5_do_lookup(skb->sk, ip_hdr(skb)->daddr))
    is finally called by tcp_v4_reqsk_send_ack(), but the first parameter(skb->sk) is
    NULL at that moment, so kernel panic happens.
    This patch fixes this bug.

    OOPS output is as following:
    [ 302.812793] IP: [] tcp_v4_md5_do_lookup+0x12/0x42
    [ 302.817075] Oops: 0000 [#1] SMP
    [ 302.819815] Modules linked in: ipv6 loop dm_multipath rtc_cmos rtc_core rtc_lib pcspkr pcnet32 mii i2c_piix4 parport_pc i2c_core parport ac button ata_piix libata dm_mod mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan]
    [ 302.849946]
    [ 302.851198] Pid: 0, comm: swapper Not tainted (2.6.27-rc1-guijf #5)
    [ 302.855184] EIP: 0060:[] EFLAGS: 00010296 CPU: 0
    [ 302.858296] EIP is at tcp_v4_md5_do_lookup+0x12/0x42
    [ 302.861027] EAX: 0000001e EBX: 00000000 ECX: 00000046 EDX: 00000046
    [ 302.864867] ESI: ceb69e00 EDI: 1467a8c0 EBP: cf75f180 ESP: c0792e54
    [ 302.868333] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    [ 302.871287] Process swapper (pid: 0, ti=c0792000 task=c0712340 task.ti=c0746000)
    [ 302.875592] Stack: c06f413a 00000000 cf75f180 ceb69e00 00000000 c05d0d86 000016d0 ceac5400
    [ 302.883275] c05d28f8 000016d0 ceb69e00 ceb69e20 681bf6e3 00001000 00000000 0a67a8c0
    [ 302.890971] ceac5400 c04250a3 c06f413a c0792eb0 c0792edc cf59a620 cf59a620 cf59a634
    [ 302.900140] Call Trace:
    [ 302.902392] [] tcp_v4_reqsk_send_ack+0x17/0x35
    [ 302.907060] [] tcp_check_req+0x156/0x372
    [ 302.910082] [] printk+0x14/0x18
    [ 302.912868] [] tcp_v4_do_rcv+0x1d3/0x2bf
    [ 302.917423] [] tcp_v4_rcv+0x563/0x5b9
    [ 302.920453] [] ip_local_deliver_finish+0xe8/0x183
    [ 302.923865] [] ip_rcv_finish+0x286/0x2a3
    [ 302.928569] [] dev_alloc_skb+0x11/0x25
    [ 302.931563] [] netif_receive_skb+0x2d6/0x33a
    [ 302.934914] [] pcnet32_poll+0x333/0x680 [pcnet32]
    [ 302.938735] [] net_rx_action+0x5c/0xfe
    [ 302.941792] [] __do_softirq+0x5d/0xc1
    [ 302.944788] [] __do_softirq+0x0/0xc1
    [ 302.948999] [] do_softirq+0x55/0x88
    [ 302.951870] [] handle_fasteoi_irq+0x0/0xa4
    [ 302.954986] [] irq_exit+0x35/0x69
    [ 302.959081] [] do_IRQ+0x99/0xae
    [ 302.961896] [] common_interrupt+0x23/0x28
    [ 302.966279] [] default_idle+0x2a/0x3d
    [ 302.969212] [] cpu_idle+0xb2/0xd2
    [ 302.972169] =======================
    [ 302.974274] Code: fc ff 84 d2 0f 84 df fd ff ff e9 34 fe ff ff 83 c4 0c 5b 5e 5f 5d c3 90 90 57 89 d7 56 53 89 c3 50 68 3a 41 6f c0 e8 e9 55 e5 ff 93 9c 04 00 00 58 85 d2 59 74 1e 8b 72 10 31 db 31 c9 85 f6
    [ 303.011610] EIP: [] tcp_v4_md5_do_lookup+0x12/0x42 SS:ESP 0068:c0792e54
    [ 303.018360] Kernel panic - not syncing: Fatal exception in interrupt

    Signed-off-by: Gui Jianfeng
    Signed-off-by: David S. Miller

    Gui Jianfeng
     
  • As noticed by Stephen Hemminger, the root qdisc is denoted by
    TC_H_ROOT, not zero.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Some hardware set promisc when they are requested to set IFF_ALLMULTI flag.
    It's ok, but if drivers set IFF_PROMISC flag when they set promisc,
    it will broken upper layer handle for promisc and allmulti.
    In addition, drivers can use their own hardware programming to make it.
    So do not allow drivers to set IFF_* flags.

    This is a general driver fix, so I didn't split it to pieces and send
    to specific driver maintainers.

    Signed-off-by: Wang Chen
    Signed-off-by: Jeff Garzik

    Wang Chen
     
  • The dm9000 driver reads the chip's MAC address from the attached EEPROM. When
    no EEPROM is present, or when the MAC address is invalid, it falls back to
    reading the address from the chip.

    This patch lets platform code set the desired MAC address through platform
    data.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Jeff Garzik

    Laurent Pinchart
     
  • Fix possible bug where end of receive buffer could be overwritten.
    The allocation needs to allow for the reserved space. This would only happen
    if device received packet greater than Ethernet standard MTU.

    Change this driver to use netdev_alloc_skb rather than setting skb->dev
    directly. For the initial allocation it doesn't need to be GFP_ATOMIC.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     
  • Introduce the speed_hi field to ethtool_cmd, using the reserved space,
    to expand the speed field to 2^32 Megabits/second.

    Making this field expansion now gives us plenty of time to fix up the
    user-space pieces that use SIOCETHTOOL before hardware faster than 64
    Gb/s is available.

    Signed-off-by: Brandon Philips
    Signed-off-by: Jeff Garzik

    Brandon Philips
     
  • Reference: https://launchpad.net/bugs/140511

    The Belkin bluetooth dongle unfortunately shares the vendor and device id
    with the network adapter which causes lockups whenever the bluetooth
    dongle is inserted.

    Signed-off-by: Stefan Bader
    Signed-off-by: Ben Collins
    Cc: Greg Kroah-Hartman
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Ben Collins
     
  • drivers/net/netxen/netxen_nic_hw.c: In function 'netxen_nic_pci_mem_read_direct':
    drivers/net/netxen/netxen_nic_hw.c:1414: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'u64'
    drivers/net/netxen/netxen_nic_hw.c: In function 'netxen_nic_pci_mem_write_direct':
    drivers/net/netxen/netxen_nic_hw.c:1487: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'u64'

    You don't know what type was used for u64 hence they cannot be printed without
    casting.

    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Andrew Morton
     
  • Add missing sanity check to tty operation.

    Acked-by: Alan Cox
    Signed-off-by: Eugene Teo
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Eugene Teo
     
  • Fix all errors and warnings reported by checkpatch.pl

    Signed-off-by: Gustavo F. Padovan
    Signed-off-by: Jeff Garzik

    Gustavo F. Padovan
     
  • Fix all errors and warnings reported by checkpatch.pl

    Signed-off-by: Gustavo F. Padovan
    Signed-off-by: Jeff Garzik

    Gustavo F. Padovan
     
  • We don't need this into a void function.

    Signed-off-by: Gustavo F. Padovan
    Signed-off-by: Jeff Garzik

    Gustavo F. Padovan