diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-09-02 13:30:07 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-09-02 13:30:07 -0400 |
commit | 78ab952717b62c0ba6ca7f7a27eaa0486685e45f (patch) | |
tree | a4ab2bfc578f279fc6847031f501d84c75057531 /drivers/net/wireless/orinoco | |
parent | 3e502e63586920f219ed2590f69c1f5a8888cfa4 (diff) | |
parent | 85f72bc839705294b32b6c16b491c0422f0a71b3 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'drivers/net/wireless/orinoco')
-rw-r--r-- | drivers/net/wireless/orinoco/hw.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/orinoco/wext.c | 11 |
2 files changed, 15 insertions, 5 deletions
diff --git a/drivers/net/wireless/orinoco/hw.c b/drivers/net/wireless/orinoco/hw.c index 077baa86756b..b4772c1c6135 100644 --- a/drivers/net/wireless/orinoco/hw.c +++ b/drivers/net/wireless/orinoco/hw.c | |||
@@ -762,14 +762,17 @@ int orinoco_hw_get_act_bitrate(struct orinoco_private *priv, int *bitrate) | |||
762 | case FIRMWARE_TYPE_INTERSIL: /* Intersil style rate */ | 762 | case FIRMWARE_TYPE_INTERSIL: /* Intersil style rate */ |
763 | case FIRMWARE_TYPE_SYMBOL: /* Symbol style rate */ | 763 | case FIRMWARE_TYPE_SYMBOL: /* Symbol style rate */ |
764 | for (i = 0; i < BITRATE_TABLE_SIZE; i++) | 764 | for (i = 0; i < BITRATE_TABLE_SIZE; i++) |
765 | if (bitrate_table[i].intersil_txratectrl == val) | 765 | if (bitrate_table[i].intersil_txratectrl == val) { |
766 | *bitrate = bitrate_table[i].bitrate * 100000; | ||
766 | break; | 767 | break; |
768 | } | ||
767 | 769 | ||
768 | if (i >= BITRATE_TABLE_SIZE) | 770 | if (i >= BITRATE_TABLE_SIZE) { |
769 | printk(KERN_INFO "%s: Unable to determine current bitrate (0x%04hx)\n", | 771 | printk(KERN_INFO "%s: Unable to determine current bitrate (0x%04hx)\n", |
770 | priv->ndev->name, val); | 772 | priv->ndev->name, val); |
773 | err = -EIO; | ||
774 | } | ||
771 | 775 | ||
772 | *bitrate = bitrate_table[i].bitrate * 100000; | ||
773 | break; | 776 | break; |
774 | default: | 777 | default: |
775 | BUG(); | 778 | BUG(); |
diff --git a/drivers/net/wireless/orinoco/wext.c b/drivers/net/wireless/orinoco/wext.c index cf7be1eb6124..93505f93bf97 100644 --- a/drivers/net/wireless/orinoco/wext.c +++ b/drivers/net/wireless/orinoco/wext.c | |||
@@ -589,8 +589,15 @@ static int orinoco_ioctl_getrate(struct net_device *dev, | |||
589 | 589 | ||
590 | /* If the interface is running we try to find more about the | 590 | /* If the interface is running we try to find more about the |
591 | current mode */ | 591 | current mode */ |
592 | if (netif_running(dev)) | 592 | if (netif_running(dev)) { |
593 | err = orinoco_hw_get_act_bitrate(priv, &bitrate); | 593 | int act_bitrate; |
594 | int lerr; | ||
595 | |||
596 | /* Ignore errors if we can't get the actual bitrate */ | ||
597 | lerr = orinoco_hw_get_act_bitrate(priv, &act_bitrate); | ||
598 | if (!lerr) | ||
599 | bitrate = act_bitrate; | ||
600 | } | ||
594 | 601 | ||
595 | orinoco_unlock(priv, &flags); | 602 | orinoco_unlock(priv, &flags); |
596 | 603 | ||