lkml.org 
[lkml]   [2008]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Fixing rt2500pci [PATCH]

    In kernel version 2.6.26-rc9 my wireless LAN card worked; but in the
    released 2.6.26, my RaLink rt2500 card wouldn't associate.

    Git-bisect led me to this patch:

    61486e0f68d1f8966c09b734566a187d42d65c54
    rt2x00: Remove ieee80211_tx_control argument from write_tx_desc()

    I believe that there is a problem with that patch --- it
    (inadvertantly) removes an extra line of code, that used to set the
    DATABYTE_COUNT field.

    This patch reinstates that line, and with it my card works again.

    The original version I sent still used the skbdesc->data_len which has
    been removed; this version of the patch applies on top of 2.6.27-rc1.

    Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
    Acked-by: Ivo van Doorn <IvDoorn@gmail.com>


    Index: linux-2.6-git/drivers/net/wireless/rt2x00/rt2500pci.c
    ===================================================================
    --- linux-2.6-git.orig/drivers/net/wireless/rt2x00/rt2500pci.c 2008-07-31 10:58:43.000000000 +1000
    +++ linux-2.6-git/drivers/net/wireless/rt2x00/rt2500pci.c 2008-07-31 11:40:44.000000000 +1000
    @@ -1213,20 +1213,21 @@ static void rt2500pci_write_tx_desc(stru
    rt2x00_set_field32(&word, TXD_W0_ACK,
    test_bit(ENTRY_TXD_ACK, &txdesc->flags));
    rt2x00_set_field32(&word, TXD_W0_TIMESTAMP,
    test_bit(ENTRY_TXD_REQ_TIMESTAMP, &txdesc->flags));
    rt2x00_set_field32(&word, TXD_W0_OFDM,
    test_bit(ENTRY_TXD_OFDM_RATE, &txdesc->flags));
    rt2x00_set_field32(&word, TXD_W0_CIPHER_OWNER, 1);
    rt2x00_set_field32(&word, TXD_W0_IFS, txdesc->ifs);
    rt2x00_set_field32(&word, TXD_W0_RETRY_MODE,
    test_bit(ENTRY_TXD_RETRY_MODE, &txdesc->flags));
    + rt2x00_set_field32(&word, TXD_W0_DATABYTE_COUNT, skb->len);
    rt2x00_set_field32(&word, TXD_W0_CIPHER_ALG, CIPHER_NONE);
    rt2x00_desc_write(txd, 0, word);
    }

    /*
    * TX data initialization
    */
    static void rt2500pci_write_beacon(struct queue_entry *entry)
    {
    struct rt2x00_dev *rt2x00dev = entry->queue->rt2x00dev;
    --
    Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au
    http://www.ertos.nicta.com.au ERTOS within National ICT Australia


    \
     
     \ /
      Last update: 2008-07-31 05:15    [W:0.023 / U:0.316 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site