Ver código fonte

wl12xx: reserver buffer for read32()/write32() in struct wl12xx

The buffer is needed for DMA safe transfers.

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Kalle Valo 16 anos atrás
pai
commit
1d3b813061

+ 4 - 5
drivers/net/wireless/wl12xx/spi.h

@@ -94,16 +94,15 @@ void wl12xx_set_partition(struct wl12xx *wl,
 
 static inline u32 wl12xx_read32(struct wl12xx *wl, int addr)
 {
-	u32 response;
+	wl12xx_spi_read(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32));
 
-	wl12xx_spi_read(wl, addr, &response, sizeof(u32));
-
-	return response;
+	return wl->buffer_32;
 }
 
 static inline void wl12xx_write32(struct wl12xx *wl, int addr, u32 val)
 {
-	wl12xx_spi_write(wl, addr, &val, sizeof(u32));
+	wl->buffer_32 = val;
+	wl12xx_spi_write(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32));
 }
 
 #endif /* __WL12XX_SPI_H__ */

+ 2 - 0
drivers/net/wireless/wl12xx/wl12xx.h

@@ -382,6 +382,8 @@ struct wl12xx {
 
 	struct wl12xx_stats stats;
 	struct wl12xx_debugfs debugfs;
+
+	u32 buffer_32;
 };
 
 int wl12xx_plt_start(struct wl12xx *wl);