diff options
| -rw-r--r-- | drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c index a23628f390c9..e03d0a3a6dcc 100644 --- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | |||
| @@ -97,8 +97,9 @@ void rtl92e_set_reg(struct net_device *dev, u8 variable, u8 *val) | |||
| 97 | 97 | ||
| 98 | switch (variable) { | 98 | switch (variable) { |
| 99 | case HW_VAR_BSSID: | 99 | case HW_VAR_BSSID: |
| 100 | rtl92e_writel(dev, BSSIDR, ((u32 *)(val))[0]); | 100 | /* BSSIDR 2 byte alignment */ |
| 101 | rtl92e_writew(dev, BSSIDR+2, ((u16 *)(val+2))[0]); | 101 | rtl92e_writew(dev, BSSIDR, *(u16 *)val); |
| 102 | rtl92e_writel(dev, BSSIDR + 2, *(u32 *)(val + 2)); | ||
| 102 | break; | 103 | break; |
| 103 | 104 | ||
| 104 | case HW_VAR_MEDIA_STATUS: | 105 | case HW_VAR_MEDIA_STATUS: |
| @@ -961,8 +962,8 @@ static void _rtl92e_net_update(struct net_device *dev) | |||
| 961 | rtl92e_config_rate(dev, &rate_config); | 962 | rtl92e_config_rate(dev, &rate_config); |
| 962 | priv->dot11CurrentPreambleMode = PREAMBLE_AUTO; | 963 | priv->dot11CurrentPreambleMode = PREAMBLE_AUTO; |
| 963 | priv->basic_rate = rate_config &= 0x15f; | 964 | priv->basic_rate = rate_config &= 0x15f; |
| 964 | rtl92e_writel(dev, BSSIDR, ((u32 *)net->bssid)[0]); | 965 | rtl92e_writew(dev, BSSIDR, *(u16 *)net->bssid); |
| 965 | rtl92e_writew(dev, BSSIDR+4, ((u16 *)net->bssid)[2]); | 966 | rtl92e_writel(dev, BSSIDR + 2, *(u32 *)(net->bssid + 2)); |
| 966 | 967 | ||
| 967 | if (priv->rtllib->iw_mode == IW_MODE_ADHOC) { | 968 | if (priv->rtllib->iw_mode == IW_MODE_ADHOC) { |
| 968 | rtl92e_writew(dev, ATIMWND, 2); | 969 | rtl92e_writew(dev, ATIMWND, 2); |
