summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/hostcmd.h
diff options
context:
space:
mode:
authorBing Zhao <bzhao@marvell.com>2009-03-25 17:51:16 +0100
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 22:54:26 +0200
commit684d6b360222f31b6b9be9a63aa5c6ed5674c890 (patch)
tree65e91de4f3e3617b5ecb24ef6ec5bb4b4d697f9c /drivers/net/wireless/libertas/hostcmd.h
parentp54spi: fix p54spi_upload_firmware (diff)
downloadlinux-684d6b360222f31b6b9be9a63aa5c6ed5674c890.tar.xz
linux-684d6b360222f31b6b9be9a63aa5c6ed5674c890.zip
libertas: support mesh for various firmware versions
CMD_MESH_CONFIG command ID and a couple of structure members in TxPD, RxPD have been changed in firmware version 10.x.y.z and newer. Signed-off-by: Kiran Divekar <dkiran@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/hostcmd.h')
-rw-r--r--drivers/net/wireless/libertas/hostcmd.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/hostcmd.h b/drivers/net/wireless/libertas/hostcmd.h
index a899aeb676bb..391c54ab2b09 100644
--- a/drivers/net/wireless/libertas/hostcmd.h
+++ b/drivers/net/wireless/libertas/hostcmd.h
@@ -13,8 +13,19 @@
/* TxPD descriptor */
struct txpd {
- /* Current Tx packet status */
- __le32 tx_status;
+ /* union to cope up with later FW revisions */
+ union {
+ /* Current Tx packet status */
+ __le32 tx_status;
+ struct {
+ /* BSS type: client, AP, etc. */
+ u8 bss_type;
+ /* BSS number */
+ u8 bss_num;
+ /* Reserved */
+ __le16 reserved;
+ } bss;
+ } u;
/* Tx control */
__le32 tx_control;
__le32 tx_packet_location;
@@ -36,8 +47,17 @@ struct txpd {
/* RxPD Descriptor */
struct rxpd {
- /* Current Rx packet status */
- __le16 status;
+ /* union to cope up with later FW revisions */
+ union {
+ /* Current Rx packet status */
+ __le16 status;
+ struct {
+ /* BSS type: client, AP, etc. */
+ u8 bss_type;
+ /* BSS number */
+ u8 bss_num;
+ } bss;
+ } u;
/* SNR */
u8 snr;