11 Oct, 2007

40 commits

  • This provides a timesource, conveniently used for DCCP timestamps, which
    returns the elapsed time in 10s of microseconds since initialisation.
    This makes for a wrap-around time of about 11.9 hours, which should be
    sufficient for most applications.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • This patch reduces the number of timestamps taken in the receive path
    for each packet.

    The ccid3_hc_tx_update_x() routine is called in
    * the receive path for each CCID3-controlled packet
    * for the nofeedback timer (if no feedback arrives during 4 RTT)

    Currently, when there is no loss, each packet gets timestamped twice.
    The patch resolves this by recycling the first timestamp taken on packet
    reception for RTT sampling.

    When the no_feedback_timer() is called, then the timestamp argument is
    simply set to NULL - so that ccid3_hc_tx_update_x() takes care of the logic.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Might as well rename ieee80211_cfg.h to cfg.h to keep things consistent.

    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Wu
     
  • Each station has a vlan_id that is useless. Remove it.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • The parse result typedef isn't needed.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • It's just painful to have the extra ieee80211_ prefix.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This makes mac80211 print out the wiphy name instead of the
    master device name where appropriate.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This is unused.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This fixes a warning about NUM_IEEE80211_MODES missing
    in a switch statement. Intentionally do not add a default
    case so we get warnings at these places if we need to add
    new modes.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • Add more mac80211 documentation.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • The IEEE80211_CONF_SSID_HIDDEN setting is not useful for any driver
    we have and should be a per-interface setting anyway. Remove it.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This patch removes the key threshold stuff from mac80211.
    I have patches for later that add it as a per-key setting
    to nl/cfg80211.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This patch allows drivers to indicate bad FCS/PLCP CRC to the stack and
    have the stack drop packets like that except for monitor interfaces.

    Signed-off-by: Johannes Berg
    Signed-off-by: Michael Wu
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • Fixing memory alignment problems on the blackfin architecture (maybe on the
    ARM also)

    Signed-off-by: Vladimir Davydov
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Vladimir Davydov
     
  • Reserve two bytes to align pointer to the IP header.

    Signed-off-by: Vladimir Davydov
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Vladimir Davydov
     
  • The following patch fixes the tx transmit timeout problem, which is
    caused by the interrupts being incorrectly check and masked. The patch
    moves the interrupt masking code so that interrupts are enabled only
    when the driver is registered and only disabled when the driver is
    unregistered.

    Signed-off-by: Ryan Mallon
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Ryan Mallon
     
  • Corrects a minor bug with priv->dnld_sent being set incorrectly in
    if_cs_host_to_card.

    Signed-off-by: Ryan Mallon
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Ryan Mallon
     
  • This change cleans up the radio-related messages in several ways.

    (1) The state of the rfkill switch is assumed to be on, rather than
    tested. Now, any user without such a switch will not see any
    messages. For devices with such a switch, a message will be
    logged only if the initial state is off, or if the switch is toggled.
    (2) The routine for testing the switch state is no longer inline.
    (3) The LED handling routine is simplified.
    (4) The "Radio turned off" message that has confused some users has been
    changed to "Radio initialized".

    This patch is patterned after a similar change to b43 by Michael Buesch.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Larry Finger
     
  • This adds support for turning the radio off in software.
    That's useful in environments, where you don't want the RF
    to radiate any signals, but don't want to bring the interface down.

    This patch is based on a similar patch of b43 by Michael Buesch.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Larry Finger
     
  • This adds support for turning the radio off in software.
    That's useful in environments, where you don't want the RF
    to radiate any signals, but don't want to bring the interface down.

    Cc: Larry Finger
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • This message is useless. Only report state changes.

    Cc: Larry Finger
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • This adds support for disabling the radio and setting the TXpower
    through wext.
    This also fixes the prism TXpower ioctl (It always overwrote the TXpower
    value in ieee80211_hw_config())

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • It seems I was actually able to hit this deadlock, on my quad G5 softmac
    locks up more often than not. This fixes it by using an own workqueue
    that can safely be flushed under RTNL.

    Not sure if the patch is correct with the workqueue naming. And don't
    think with the patch it doesn't continually lock up. It still does, just
    doesn't invoke lockdep warnings all the time.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • Also cleanup the code a bit and remove the inline.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • This fixes all Sparse warnings in SSB.
    No semantics change.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • On a PCI bus use ioreadX() and iowriteX().
    We map the I/O space with pci_iomap(), so we must use the correct
    accessor functions, too.
    readX() and writeX() are not guaranteed to accept the cookie returned
    from pci_iomap() (though, it currently works on most architectures).

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • It's not required and the txpower adjustment must not be in atomic.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Andrew Morton
     
  • Reinhard Speyerer reported at 2007-08-10 a new device.

    Here are the information strings.

    Product: Telegent TG54USB WLAN Adapter
    USB ID: 129b:1666
    Chip ID: zd1211 chip 129b:1666 v4330 high 00-01-36 RF2959_RF pa0 -----
    FCC ID: N89-UW620Z

    Signed-off-by: Ulrich Kunitz
    Signed-off-by: Daniel Drake
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Ulrich Kunitz
     
  • Some distros ship bcm43xx with debugging printout disabled. For those
    BCM43xx devices with radio on/off switches, this makes it impossible
    to know if the radio is on or off. This patch changes a pair of debug
    printk's into ordinary printk's. It also changes the message that
    prints when the radio is initialized to the off state as the old message
    seems to confuse users.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Larry Finger
     
  • No need to initialize to NULL when variable is never used before
    it's assigned the return value of a kmalloc() call.

    Signed-off-by: Jesper Juhl
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Jesper Juhl
     
  • Am Freitag, 21. September 2007 schrieb Herbert Xu:
    > Please don't use LLTX in new drivers. We're trying to get rid
    > of it since it's
    >
    > 1) unnecessary;
    > 2) causes problems with AF_PACKET seeing things twice.

    I suggest to document that LLTX is deprecated.

    Signed-off-by: Christian Borntraeger
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Christian Borntraeger
     
  • Signed-off-by: Zhu Yi
    Signed-off-by: David S. Miller

    Zhu Yi
     
  • For N cpus, with full throttle traffic on all N CPUs, funneling traffic
    to the same ethernet device, the devices queue lock is contended by all
    N CPUs constantly. The TX lock is only contended by a max of 2 CPUS.
    In the current mode of operation, after all the work of entering the
    dequeue region, we may endup aborting the path if we are unable to get
    the tx lock and go back to contend for the queue lock. As N goes up,
    this gets worse.

    The changes in this patch result in a small increase in performance
    with a 4CPU (2xdual-core) with no irq binding. Both e1000 and tg3
    showed similar behavior;

    Signed-off-by: Jamal Hadi Salim
    Signed-off-by: David S. Miller

    Jamal Hadi Salim
     
  • Doing this makes loopback.c a better example of how to do a
    simple network device, and it removes the special case
    single static allocation of a struct net_device, hopefully
    making maintenance easier.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Daniel Lezcano
    Acked-By: Kirill Korotaev
    Acked-by: Benjamin Thery

    Daniel Lezcano
     
  • This patch replaces all occurences to the static variable
    loopback_dev to a pointer loopback_dev. That provides the
    mindless, trivial, uninteressting change part for the dynamic
    allocation for the loopback.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Daniel Lezcano
    Acked-By: Kirill Korotaev
    Acked-by: Benjamin Thery
    Signed-off-by: David S. Miller

    Daniel Lezcano
     
  • Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • There's no reason to clear the sacktag skb hint when small part
    of the rexmit queue changes. Account changes (if any) instead when
    fragmenting/collapsing. RTO/FRTO do not touch SACKED_ACKED bits so
    no need to discard SACK tag hint at all.

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     
  • Most of the description that follows comes from my mail to
    netdev (some editing done):

    Main obstacle to FRTO use is its deployment as it has to be on
    the sender side where as wireless link is often the receiver's
    access link. Take initiative on behalf of unlucky receivers and
    enable it by default in future Linux TCP senders. Also IETF
    seems to interested in advancing FRTO from experimental [1].

    How does FRTO help?
    ===================

    FRTO detects spurious RTOs and avoids a number of unnecessary
    retransmissions and a couple of other problems that can arise
    due to incorrect guess made at RTO (i.e., that segments were
    lost when they actually got delayed which is likely to occur
    e.g. in wireless environments with link-layer retransmission).
    Though FRTO cannot prevent the first (potentially unnecessary)
    retransmission at RTO, I suspect that it won't cost that much
    even if you have to pay for each bit (won't be that high
    percentage out of all packets after all :-)). However, usually
    when you have a spurious RTO, not only the first segment
    unnecessarily retransmitted but the *whole window*. It goes like
    this: all cumulative ACKs got delayed due to in-order delivery,
    then TCP will actually send 1.5*original cwnd worth of data in
    the RTO's slow-start when the delayed ACKs arrive (basically the
    original cwnd worth of it unnecessarily). In case one is
    interested in minimizing unnecessary retransmissions e.g. due to
    cost, those rexmissions must never see daylight. Besides, in the
    worst case the generated burst overloads the bottleneck buffers
    which is likely to significantly delay the further progress of
    the flow. In case of ll rexmissions, ACK compression often
    occurs at the same time making the burst very "sharp edged" (in
    that case TCP often loses most of the segments above high_seq
    => very bad performance too). When FRTO is enabled, those
    unnecessary retransmissions are fully avoided except for the
    first segment and the cwnd behavior after detected spurious RTO
    is determined by the response (one can tune that by sysctl).

    Basic version (non-SACK enhanced one), FRTO can fail to detect
    spurious RTO as spurious and falls back to conservative
    behavior. ACK lossage is much less significant than reordering,
    usually the FRTO can detect spurious RTO if at least 2
    cumulative ACKs from original window are preserved (excluding
    the ACK that advances to high_seq). With SACK-enhanced version,
    the detection is quite robust.

    FRTO should remove the need to set a high lower bound for the
    RTO estimator due to delay spikes that occur relatively common
    in some environments (esp. in wireless/cellular ones).

    [1] http://www1.ietf.org/mail-archive/web/tcpm/current/msg02862.html

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen