11 Oct, 2007

2 commits


21 Sep, 2007

1 commit

  • Commit 4cf92a3c was submitted as a fix for bug #8686 at bugzilla.kernel.org
    (http://bugzilla.kernel.org/show_bug.cgi?id=8686). Unfortunately, the fix led to
    a new bug, reported by Yoshifuji Hideaki, that prevented association for WEP
    encrypted networks that use ifconfig to control the device. This patch effectively
    reverts the earlier commit and does a proper fix for bug #8686.

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

    Larry Finger
     

11 Jul, 2007

1 commit

  • Victor Porton reported that the SoftMAC layer had random problem when setting the ESSID :
    http://bugzilla.kernel.org/show_bug.cgi?id=8686 After investigation, it turned out to be
    worse, the SoftMAC layer is left in an inconsistent state. The fix is pretty trivial.

    Signed-off-by: Jean Tourrilhes
    Acked-by: Michael Buesch
    Acked-by: Larry Finger
    Signed-off-by: John W. Linville

    Jean Tourrilhes
     

11 Feb, 2007

1 commit


20 Dec, 2006

1 commit

  • The signature of work functions changed recently from a context
    pointer to the work structure pointer. This caused a problem in
    the ieee80211softmac code, because the ieee80211softmac_assox_work
    function has been called directly with a parameter explicitly
    casted to (void*). This compiled correctly but resulted in a
    softlock, because mutex_lock was called with the wrong memory
    address. The patch fixes the problem. Another issue was a wrong
    call of the schedule_work function. Softmac works again and this
    fixes the problem I mentioned earlier in the zd1211rw rx tasklet
    patch. The patch is against Linus' tree (commit af1713e0).

    Signed-off-by: Ulrich Kunitz
    Acked-by: Michael Buesch
    Signed-off-by: Larry Finger
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    Ulrich Kunitz
     

11 Dec, 2006

1 commit


07 Dec, 2006

1 commit


06 Dec, 2006

1 commit


22 Nov, 2006

1 commit


17 Oct, 2006

1 commit


28 Jul, 2006

1 commit

  • This patch implements ERP handling in softmac so that the drivers can support
    protection and preambles properly.

    I added a new struct, ieee80211softmac_bss_info, which is used for
    BSS-dependent variables like these.

    A new hook has been added (bssinfo_change), which allows the drivers to be
    notified when anything in bssinfo changes.

    I modified the txrates_change API to match the bssinfo_change API. The
    existing one is a little messy and the usefulness of providing the old rates
    is questionable (and can be implemented at driver level if really necessary).
    No drivers are using this API (yet), so this should be safe.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     

06 Jul, 2006

3 commits


06 Jun, 2006

1 commit

  • My router blew up earlier, but exhibited some interesting behaviour during
    its dying moments. It was broadcasting beacons but wouldn't respond to
    any authentication requests.

    I noticed that softmac wasn't playing nice with this, as I couldn't make it try
    to connect to other networks after it had timed out authenticating to my ill
    router.

    To resolve this, I modified the softmac event/notify API to pass the event
    code to the callback, so that callbacks being notified from
    IEEE80211SOFTMAC_EVENT_ANY masks can make some judgement. In this case, the
    ieee80211softmac_assoc callback needs to make a decision based upon whether
    the association passed or failed.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     

06 May, 2006

4 commits

  • This patch is the first step towards rate control inside softmac.

    The txrates substructure has been extended to provide
    different fields for different types of packets (management/data,
    unicast/multicast). These fields are updated on association to values
    compatible with the access point we are associating to.

    Drivers can then use the new ieee80211softmac_suggest_txrate() function
    call when deciding which rate to transmit each frame at. This is
    immensely useful for ZD1211, and bcm can use it too.

    The user can still specify a rate through iwconfig, which is matched
    for all transmissions (assuming the rate they have specified is in
    the rate set required by the AP).

    At a later date, we can incorporate automatic rate management into
    the ieee80211softmac_recalc_txrates() function.

    This patch also removes the mcast_fallback field. Sam Leffler pointed
    out that this field is meaningless, because no driver will ever be
    retransmitting mcast frames (they are not acked).

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • The 802.11 specs state that deauthenticating also implies
    disassociating. This patch implements that, which improve the behaviour
    of SIOCSIWMLME.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • John W. Linville
     
  • zd1211 with softmac and wpa_supplicant revealed an issue with softmac
    and the use of workqueues. Some of the work functions actually
    reschedule themselves, so this meant that there could still be
    pending work after flush_scheduled_work() had been called during
    ieee80211softmac_stop().

    This patch introduces a "running" flag which is used to ensure that
    rescheduling does not happen in this situation.

    I also used this flag to ensure that softmac's hooks into ieee80211 are
    non-operational once the stop operation has been started. This simply
    makes softmac a little more robust, because I could crash it easily
    by receiving frames in the short timeframe after shutting down softmac
    and before turning off the ZD1211 radio. (ZD1211 is now fixed as well!)

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     

25 Apr, 2006

2 commits

  • This patch adds the SIOCSIWMLME wext to softmac, this functionality
    appears to be used by wpa_supplicant and is softmac-specific.

    Signed-off-by: Johannes Berg
    Cc: Jouni Malinen
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • There are some bugs in the current implementation of the SIOCSIWAP wext,
    for example that when you do it twice and it fails, it may still try
    another access point for some reason. This patch fixes this by introducing
    a new flag that tells the association code that the bssid that is in use
    was fixed by the user and shouldn't be deviated from.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

20 Apr, 2006

2 commits

  • Softmac is sending custom events to userspace already, but it
    should _really_ be sending the right WEXT events instead. This
    patch fixes that.

    Signed-off-by: Dan Williams
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This fixes a spinlock recursion on receiving a reassoc request.

    On reassoc, the softmac calls back into the driver. This results in a
    driver lock recursion. This schedules the assoc workqueue, instead
    of calling it directly.

    Probably, we should defer the _whole_ management frame processing
    to a tasklet or workqueue, because it does several callbacks into the driver.
    That is dangerous.

    This fix should go into linus's tree, before 2.6.17 is released, because it
    is remote exploitable (DoS by crash).

    Signed-off-by: John W. Linville

    Michael Buesch
     

23 Mar, 2006

13 commits