aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/b43.h
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-01-21 13:55:09 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:10:46 -0500
commit61cb5dd6d1c81fbb5629f60db4e2a7faa7124b7a (patch)
tree5f0d0c7f1e7830a8149c94012feb80c160cb0b6d /drivers/net/wireless/b43/b43.h
parent71ebb4aac87e4a1504a155084d658d0a92ac63fb (diff)
b43: Fix firmware caching
We must also store the ID string (filename) for the cached firmware blobs and verify that we really have the right firmware cached before using it. If we don't have the right fw cached, we must free it and request the correct blobs. This fixes bandswitch on A/B/G multi-PHY devices. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/b43.h')
-rw-r--r--drivers/net/wireless/b43/b43.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
index c7eea30aa949..32a24f5c4fa6 100644
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
@@ -665,16 +665,23 @@ struct b43_wl {
665 bool beacon1_uploaded; 665 bool beacon1_uploaded;
666}; 666};
667 667
668/* In-memory representation of a cached microcode file. */
669struct b43_firmware_file {
670 const char *filename;
671 const struct firmware *data;
672};
673
668/* Pointers to the firmware data and meta information about it. */ 674/* Pointers to the firmware data and meta information about it. */
669struct b43_firmware { 675struct b43_firmware {
670 /* Microcode */ 676 /* Microcode */
671 const struct firmware *ucode; 677 struct b43_firmware_file ucode;
672 /* PCM code */ 678 /* PCM code */
673 const struct firmware *pcm; 679 struct b43_firmware_file pcm;
674 /* Initial MMIO values for the firmware */ 680 /* Initial MMIO values for the firmware */
675 const struct firmware *initvals; 681 struct b43_firmware_file initvals;
676 /* Initial MMIO values for the firmware, band-specific */ 682 /* Initial MMIO values for the firmware, band-specific */
677 const struct firmware *initvals_band; 683 struct b43_firmware_file initvals_band;
684
678 /* Firmware revision */ 685 /* Firmware revision */
679 u16 rev; 686 u16 rev;
680 /* Firmware patchlevel */ 687 /* Firmware patchlevel */