Эх сурвалжийг харах

airo: fix writerids() endianness

in writerids() we do _not_ byteswap, so we want to access
->opmode as little-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Al Viro 17 жил өмнө
parent
commit
2ab1f519cb

+ 2 - 2
drivers/net/wireless/airo.c

@@ -7865,9 +7865,9 @@ static int writerids(struct net_device *dev, aironet_ioctl *comp) {
 		ConfigRid *cfg = (ConfigRid *)iobuf;
 
 		if (test_bit(FLAG_MIC_CAPABLE, &ai->flags))
-			cfg->opmode |= MODE_MIC;
+			cfg->opmode |= cpu_to_le16(MODE_MIC);
 
-		if ((cfg->opmode & 0xFF) == MODE_STA_IBSS)
+		if ((le16_to_cpu(cfg->opmode) & 0xFF) == MODE_STA_IBSS)
 			set_bit (FLAG_ADHOC, &ai->flags);
 		else
 			clear_bit (FLAG_ADHOC, &ai->flags);