Browse Source

staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD.

EPROM_CMD is 2 byte aligned on PCI map so calling with rtl92e_readl
will return invalid data so use rtl92e_readw.

The device is unable to select the right eeprom type.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Malcolm Priestley 8 years ago
parent
commit
90be652c9f
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c

+ 1 - 1
drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c

@@ -625,7 +625,7 @@ void rtl92e_get_eeprom_size(struct net_device *dev)
 	struct r8192_priv *priv = rtllib_priv(dev);
 	struct r8192_priv *priv = rtllib_priv(dev);
 
 
 	RT_TRACE(COMP_INIT, "===========>%s()\n", __func__);
 	RT_TRACE(COMP_INIT, "===========>%s()\n", __func__);
-	curCR = rtl92e_readl(dev, EPROM_CMD);
+	curCR = rtl92e_readw(dev, EPROM_CMD);
 	RT_TRACE(COMP_INIT, "read from Reg Cmd9346CR(%x):%x\n", EPROM_CMD,
 	RT_TRACE(COMP_INIT, "read from Reg Cmd9346CR(%x):%x\n", EPROM_CMD,
 		 curCR);
 		 curCR);
 	priv->epromtype = (curCR & EPROM_CMD_9356SEL) ? EEPROM_93C56 :
 	priv->epromtype = (curCR & EPROM_CMD_9356SEL) ? EEPROM_93C56 :