Patch "staging: rtl8192e: fix 2 byte alignment of register BSSIDR." has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
staging: rtl8192e: fix 2 byte alignment of register BSSIDR.
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
staging-rtl8192e-fix-2-byte-alignment-of-register-bssidr.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
867510bde14e7b7fc6dd0f50b48f6753cfbd227aMon Sep 17 00:00:00 2001
From: Malcolm Priestley <[email protected]>
Date: Thu, 11 May 2017 18:57:44 +0100
Subject: staging: rtl8192e: fix 2 byte alignment of register BSSIDR.
From: Malcolm Priestley <[email protected]>
commit 867510bde14e7b7fc6dd0f50b48f6753cfbd227a upstream.
BSSIDR has two byte alignment on PCI ioremap correct the write by swapping to 16 bits first.
This fixes a problem that the device associates fail because the filter is not set correctly.
--- drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c +5 -4
@@ -97,8 +97,9 @@ void rtl92e_set_reg(struct net_device *dswitch (variable) {case HW_VAR_BSSID : -rtl92e_writel (dev,BSSIDR , ((u32 *)(val))[0 ]); -rtl92e_writew (dev,BSSIDR +2 , ((u16 *)(val+2 ))[0 ]); +/* BSSIDR 2 byte alignment */ +rtl92e_writew (dev,BSSIDR , *(u16 *)val); +rtl92e_writel (dev,BSSIDR +2 , *(u32 *)(val +2 ));break ;case HW_VAR_MEDIA_STATUS :
@@ -963,8 +964,8 @@ static void _rtl92e_net_update(struct nertl92e_config_rate (dev, &rate_config); priv->dot11CurrentPreambleMode =PREAMBLE_AUTO ; priv->basic_rate = rate_config &=0x15f ; -rtl92e_writel (dev,BSSIDR , ((u32 *)net->bssid)[0 ]); -rtl92e_writew (dev,BSSIDR +4 , ((u16 *)net->bssid)[2 ]); +rtl92e_writew (dev,BSSIDR , *(u16 *)net->bssid); +rtl92e_writel (dev,BSSIDR +2 , *(u32 *)(net->bssid +2 ));if (priv->rtllib->iw_mode ==IW_MODE_ADHOC ) {rtl92e_writew (dev,ATIMWND ,2 );
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/staging-rtl8192e-rtl92e_get_eeprom_size-fix-read-size-of-eprom_cmd.patch queue-4.9/staging-rtl8192e-getts-fix-invalid-tid-7-warning.patch queue-4.9/staging-rtl8192e-rtl92e_fill_tx_desc-fix-write-to-mapped-out-memory.patch queue-4.9/staging-rtl8192e-fix-2-byte-alignment-of-register-bssidr.patch