/* Move 'size' bytes from card to PC. (Shouldn't be interrupted)  */
static void wl3501_get_from_wla(struct wl3501_card *this, u16 src, void *dest, int size)
/* Move 'size' bytes from card to PC. (Shouldn't be interrupted)  */
static void wl3501_get_from_wla(struct wl3501_card *this, u16 src, void *dest, int size)
{
	wl3501_switch_page(this, (src & 0x8000) ? WL3501_BSS_SPAGE1 :
						  WL3501_BSS_SPAGE0);
	wl3501_outb(src & 0xff, this->base_addr + WL3501_NIC_LMAL);
	wl3501_outb((src >> 8) & 0x7f, this->base_addr + WL3501_NIC_LMAH);
	insb(this->base_addr + WL3501_NIC_IODPA, dest, size);
}