11 Oct, 2007

40 commits

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

    Johannes Berg
     
  • This improves radiotap injection by removing the shortcut over TX handlers
    that led to BUGS when injecting frames without setting a rate and also
    resulted in various other quirks. Now, TX handlers are run but some
    information that was present in the radiotap header is used instead of
    automatic settings.

    Signed-off-by: Johannes Berg
    Cc: Andy Green
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This "algorithm" is used only internally and is not useful.

    Signed-off-by: Johannes Berg
    Cc: Michael Buesch
    Acked-by: Zhu Yi
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • This makes mac80211 set the RX_FLAG_DECRYPTED flag for frames
    decrypted in software allowing us to handle some things more
    uniformly.

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

    Johannes Berg
     
  • Currently, we have three RX handlers doing the decryption.
    This patch changes it to have only one handler doing
    everything, thereby getting rid of many duplicate checks.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller
    --
    net/mac80211/rx.c | 46 ++++++++++++----------------------------------
    1 files changed, 12 insertions(+), 34 deletions(-)

    Johannes Berg
     
  • This moves the sta_process RX handler to after decryption
    so that frames that cannot be decrypted don't influence
    statistics, it is likely that they were injected or something
    else is totally wrong.

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

    Johannes Berg
     
  • Removes the management interface since it is only required
    for hostapd/userspace MLME, will not be in the final tree
    at least in this form and hostapd/userspace MLME currently
    do not work against this tree anyway.

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

    Johannes Berg
     
  • Since I cannot convince the lazy driver authors (hello Michael)
    to stop (ab)using the MGMT interface type internally in their
    drivers, this patch introduces a new _INVALID type especially
    for their use and changes all affected drivers to use it.

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

    Johannes Berg
     
  • Also remove the check for ops->config!=NULL, as it can never be NULL.

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

    Michael Buesch
     
  • Implement much easier and more lightweight locking for
    the periodic work.
    This also removes the last big busywait loop and replaces it
    by a sleeping loop.

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

    Michael Buesch
     
  • This removes the direct call to rfkill on an rfkill event
    and replaces it with an input device. This way userspace is also
    notified about the event.

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

    Michael Buesch
     
  • This adds full support for the RFKILL button and
    the RFKILL LED trigger.

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

    Michael Buesch
     
  • Drive the LEDs through the generic LED triggers.

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

    Michael Buesch
     
  • Buttons that work directly on hardware cannot support
    the "user_claim" functionality. Add a flag to signal
    this and return -EOPNOTSUPP in this case.
    b43 is such a device.

    Signed-off-by: Michael Buesch
    Acked-by: Ivo van Doorn
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • This adds a LED trigger.

    Signed-off-by: Michael Buesch
    Acked-by: Ivo van Doorn
    Signed-off-by: John W. Linville
    Signed-off-by: David S. Miller

    Michael Buesch
     
  • The kernel now provides a generic hexdump implementation should we need
    it again, so we can remove it from zd1211rw. After removing that, only
    one single-user function is left in zd_util. Move that to zd_mac and
    remove zd_util.

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

    Ulrich Kunitz
     
  • As detailed at https://bugs.gentoo.org/159646 hostap with hostapd confuses
    udev by presenting 2 interfaces with the same MAC address. Also, at the time
    of detection, the 'type' attribute is 1, identical to other hostap interfaces.

    The AP interface is supposed to have type ARPHRD_IEEE80211 (801), but this is
    not set until after registration.

    Setting it before register_netdev() is called allows us to avoid this
    confusion. We can do this by propogating the HOSTAP_INTERFACE type through
    to hostap_setup_dev().

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

    Daniel Drake
     
  • Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • This is a follow up to the patches from Denys Vlasenkos
    to further optimize firmware loading.

    1. In bnx2_init_cpus(), we allocate memory for decompression once
    and use it repeatedly instead of doing this for every firmware image.

    2. We eliminate the BSS and SBSS firmware sections in bnx2_fw*.h since
    these are always zeros.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • axnet_cs: Laneed LD-CDK/TX
    pcnet_cs: LEMEL LM-N89TX PRO

    Signed-off-by: Komuro
    Signed-off-by: Jeff Garzik

    Komuro
     
  • Hi, all.

    This patch supports Hitachi Solution Engine (SuperH) of smc91x.
    Please apply this patch .

    regards,
    Nobuhiro

    --
    Nobuhiro Iwamatsu
    E-Mail : iwamatsu@nigauri.org
    GPG ID : 3170EBE9

    Signed-off-by: Nobuhiro Iwamatsu

    Signed-off-by: Jeff Garzik

    Nobuhiro Iwamatsu
     
  • Hi,

    this are the changes to the smc911x driver, which were necessary
    to get it running on the Magic Panel R2 (smsc9115).
    It is a SH3-DSP based board. The other patches are available on
    the linuxsh-dev mailinglist.
    http://marc.info/?l=linuxsh-dev&r=1&b=200708&w=2

    It was necessary to set the irq sense to low level.
    Therefor the SMC_IRQ_SENSE define was added.
    How are the chances for inclusion in 2.6.24?

    Signed-off by: Markus Brunner
    Signed-off by: Mark Jonas

    Signed-off-by: Jeff Garzik

    Markus Brunner
     
  • Due to stability issues in high load situations the HW queue handling
    has to be changed. The HW queues are now stopped and restarted again instead
    of destroying and allocating new HW queues.

    Signed-off-by: Jan-Bernd Themann
    Signed-off-by: Jeff Garzik

    Jan-Bernd Themann
     
  • Mostly a bunch of __iomem annotations.

    Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • Previously, bitbanged MDIO was only supported in individual
    hardware-specific drivers. This code factors out the higher level
    protocol implementation, reducing the hardware-specific portion to
    functions setting direction, data, and clock.

    Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • The existing OF glue code was crufty and broken. Rather than fix it, it
    will be removed, and the ethernet driver now talks to the device tree
    directly.

    The old, non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM
    platforms are dropped from arch/ppc (which will hopefully be soon), and
    existing arch/powerpc boards that I wasn't able to test on for this
    patchset get converted (which should be even sooner).

    Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • At least some hardware driven by this driver needs receive buffers
    to be aligned on a 16-byte boundary. This usually happens by chance,
    but it breaks if slab debugging is enabled.

    Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • These macros accomplish nothing other than defeating type checking.

    This patch also fixes one instance of the wrong register size being
    used that was revealed by enabling type checking.

    Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • It is needed for strstr().

    Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • Signed-off-by: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     
  • In case somebody has a suggestion about a better place for this
    check, which must guarantee execution "early enough" (i.e,
    before the wrap can occur), I'm very open to them.

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

    Ilpo Järvinen
     
  • Just came across what RFC2018 states about generation of valid
    SACK blocks in case of reneging. Alter comment a bit to point
    out clearly.

    IMHO, there isn't any reason to change code because the
    validation is there for a purpose (counters will inform user
    about decision TCP made if this case ever surfaces).

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

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

    Ilpo Järvinen
     
  • This was found due to bug report from Cedric Le Goater though
    it turned this turned out to be unrelated bug.

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

    Ilpo Järvinen
     
  • Signed-off-by: Denys Vlasenko
    Acked-by: Michael Chan
    Signed-off-by: David S. Miller

    Denys Vlasenko
     
  • This patch modifies gzip unpacking code in bnx2 driver so that
    it does not depend on bnx2 internals. I will move this code
    out of the driver and into zlib in follow-on patch.

    It can be useful in other drivers which need to store firmwares
    or any other relatively big binary blobs - fonts, cursor bitmaps,
    whatever.

    Patch is run tested by Michael Chan (driver author).

    Signed-off-by: Denys Vlasenko
    Acked-by: Michael Chan
    Signed-off-by: David S. Miller

    Denys Vlasenko
     
  • Hook up the 93cx6 eeprom code to the ax88796 driver and modify the ax88796
    driver to read out the mac address from the eeprom. We need this for the
    ax88796 on certain SuperH boards. The pin configuration used to connect
    the eeprom to the ax88796 on these boards is the same as pointed out by the
    ax88796 datasheet, so we can probably reuse this code for multiple
    platforms in the future.

    Signed-off-by: Magnus Damm
    Cc: Ben Dooks
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Magnus Damm
     
  • Ensure the PHY_HALTED state is not entered with the IRQ asserted as it
    could lead to an interrupt loop.

    There is a small window in phy_stop(), where the state of the PHY machine
    indicates it has been halted, but its interrupt output might still be
    unmasked. If an interrupt goes active right at this moment it will loop as
    the phy_interrupt() handler exits immediately with IRQ_NONE if the halted
    state is seen. It is unsafe to extend the phydev spinlock to cover
    phy_interrupt(). It is safe to swap the order of the actions though as all
    the competing places to unmask the interrupt output of the PHY, which are
    phy_change() and phy_timer() are already covered with the lock as is the
    sequence in question.

    Signed-off-by: Maciej W. Rozycki
    Cc: Andy Fleming
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Maciej W. Rozycki
     
  • Keep track of disable_irq_nosync() invocations and call enable_irq() the
    right number of times if work has been cancelled that would include them.

    Now that the call to flush_work_keventd() (problematic because of
    rtnl_mutex being held) has been replaced by cancel_work_sync() another
    issue has arisen and been left unresolved. As the MDIO bus cannot be
    accessed from the interrupt context the PHY interrupt handler uses
    disable_irq_nosync() to prevent from looping and schedules some work to be
    done as a softirq, which, apart from handling the state change of the
    originating PHY, is responsible for reenabling the interrupt. Now if the
    interrupt line is shared by another device and a call to the softirq
    handler has been cancelled, that call to enable_irq() never happens and the
    other device cannot use its interrupt anymore as its stuck disabled.

    I decided to use a counter rather than a flag because there may be more
    than one call to phy_change() cancelled in the queue -- a real one and a
    fake one triggered by free_irq() if DEBUG_SHIRQ is used, if nothing else.
    Therefore because of its nesting property enable_irq() has to be called the
    right number of times to match the number disable_irq_nosync() was called
    and restore the original state. This DEBUG_SHIRQ feature is also the
    reason why free_irq() has to be called before cancel_work_sync().

    While at it I updated the comment about phy_stop_interrupts() being called
    from `keventd' -- this is no longer relevant as the use of
    cancel_work_sync() makes such an approach unnecessary. OTOH a similar
    comment referring to flush_scheduled_work() in phy_stop() still applies as
    using cancel_work_sync() there would be dangerous.

    Checked with checkpatch.pl and at the run time (with and without
    DEBUG_SHIRQ).

    Signed-off-by: Maciej W. Rozycki
    Cc: Andy Fleming
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Maciej W. Rozycki