lkml.org 
[lkml]   [2013]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[019/251] rt2x00: read 5GHz TX power values from the correct offset
    3.6.11.9-rc1 stable review patch.
    If anyone has any objections, please let me know.

    ------------------

    From: Gabor Juhos <juhosg@openwrt.org>

    [ Upstream commit 0a6f3a8ebaf13407523c2c7d575b4ca2debd23ba ]

    The current code uses the same index value both
    for the channel information array and for the TX
    power table. The index starts from 14, however the
    index of the TX power table must start from zero.

    Fix it, in order to get the correct TX power value
    for a given channel.

    The changes in rt61pci.c and rt73usb.c are compile
    tested only.

    Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
    Cc: stable@vger.kernel.org
    Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
    Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    ---
    drivers/net/wireless/rt2x00/rt2800lib.c | 4 ++--
    drivers/net/wireless/rt2x00/rt61pci.c | 3 ++-
    drivers/net/wireless/rt2x00/rt73usb.c | 3 ++-
    3 files changed, 6 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
    index 6c85ba5..fe0e278 100644
    --- a/drivers/net/wireless/rt2x00/rt2800lib.c
    +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
    @@ -4980,8 +4980,8 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
    default_power2 = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A2);

    for (i = 14; i < spec->num_channels; i++) {
    - info[i].default_power1 = default_power1[i];
    - info[i].default_power2 = default_power2[i];
    + info[i].default_power1 = default_power1[i - 14];
    + info[i].default_power2 = default_power2[i - 14];
    }
    }

    diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
    index b8ec961..7e475a9 100644
    --- a/drivers/net/wireless/rt2x00/rt61pci.c
    +++ b/drivers/net/wireless/rt2x00/rt61pci.c
    @@ -2822,7 +2822,8 @@ static int rt61pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
    tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START);
    for (i = 14; i < spec->num_channels; i++) {
    info[i].max_power = MAX_TXPOWER;
    - info[i].default_power1 = TXPOWER_FROM_DEV(tx_power[i]);
    + info[i].default_power1 =
    + TXPOWER_FROM_DEV(tx_power[i - 14]);
    }
    }

    diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c
    index 248436c..55d30ba 100644
    --- a/drivers/net/wireless/rt2x00/rt73usb.c
    +++ b/drivers/net/wireless/rt2x00/rt73usb.c
    @@ -2167,7 +2167,8 @@ static int rt73usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev)
    tx_power = rt2x00_eeprom_addr(rt2x00dev, EEPROM_TXPOWER_A_START);
    for (i = 14; i < spec->num_channels; i++) {
    info[i].max_power = MAX_TXPOWER;
    - info[i].default_power1 = TXPOWER_FROM_DEV(tx_power[i]);
    + info[i].default_power1 =
    + TXPOWER_FROM_DEV(tx_power[i - 14]);
    }
    }

    --
    1.7.10.4



    \
     
     \ /
      Last update: 2013-09-11 07:21    [W:4.119 / U:0.280 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site