aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r--drivers/net/wireless/libertas/host.h120
-rw-r--r--drivers/net/wireless/libertas/radiotap.h4
-rw-r--r--drivers/net/wireless/libertas/rx.c8
-rw-r--r--drivers/net/wireless/libertas/types.h66
4 files changed, 99 insertions, 99 deletions
diff --git a/drivers/net/wireless/libertas/host.h b/drivers/net/wireless/libertas/host.h
index 3809c0b49464..3bd5d3b6037a 100644
--- a/drivers/net/wireless/libertas/host.h
+++ b/drivers/net/wireless/libertas/host.h
@@ -326,7 +326,7 @@ struct txpd {
326 u8 pktdelay_2ms; 326 u8 pktdelay_2ms;
327 /* reserved */ 327 /* reserved */
328 u8 reserved1; 328 u8 reserved1;
329} __attribute__ ((packed)); 329} __packed;
330 330
331/* RxPD Descriptor */ 331/* RxPD Descriptor */
332struct rxpd { 332struct rxpd {
@@ -339,8 +339,8 @@ struct rxpd {
339 u8 bss_type; 339 u8 bss_type;
340 /* BSS number */ 340 /* BSS number */
341 u8 bss_num; 341 u8 bss_num;
342 } __attribute__ ((packed)) bss; 342 } __packed bss;
343 } __attribute__ ((packed)) u; 343 } __packed u;
344 344
345 /* SNR */ 345 /* SNR */
346 u8 snr; 346 u8 snr;
@@ -366,14 +366,14 @@ struct rxpd {
366 /* Pkt Priority */ 366 /* Pkt Priority */
367 u8 priority; 367 u8 priority;
368 u8 reserved[3]; 368 u8 reserved[3];
369} __attribute__ ((packed)); 369} __packed;
370 370
371struct cmd_header { 371struct cmd_header {
372 __le16 command; 372 __le16 command;
373 __le16 size; 373 __le16 size;
374 __le16 seqnum; 374 __le16 seqnum;
375 __le16 result; 375 __le16 result;
376} __attribute__ ((packed)); 376} __packed;
377 377
378/* Generic structure to hold all key types. */ 378/* Generic structure to hold all key types. */
379struct enc_key { 379struct enc_key {
@@ -387,7 +387,7 @@ struct enc_key {
387struct lbs_offset_value { 387struct lbs_offset_value {
388 u32 offset; 388 u32 offset;
389 u32 value; 389 u32 value;
390} __attribute__ ((packed)); 390} __packed;
391 391
392/* 392/*
393 * Define data structure for CMD_GET_HW_SPEC 393 * Define data structure for CMD_GET_HW_SPEC
@@ -426,7 +426,7 @@ struct cmd_ds_get_hw_spec {
426 426
427 /*FW/HW capability */ 427 /*FW/HW capability */
428 __le32 fwcapinfo; 428 __le32 fwcapinfo;
429} __attribute__ ((packed)); 429} __packed;
430 430
431struct cmd_ds_802_11_subscribe_event { 431struct cmd_ds_802_11_subscribe_event {
432 struct cmd_header hdr; 432 struct cmd_header hdr;
@@ -440,7 +440,7 @@ struct cmd_ds_802_11_subscribe_event {
440 * bump this up a bit. 440 * bump this up a bit.
441 */ 441 */
442 uint8_t tlv[128]; 442 uint8_t tlv[128];
443} __attribute__ ((packed)); 443} __packed;
444 444
445/* 445/*
446 * This scan handle Country Information IE(802.11d compliant) 446 * This scan handle Country Information IE(802.11d compliant)
@@ -452,7 +452,7 @@ struct cmd_ds_802_11_scan {
452 uint8_t bsstype; 452 uint8_t bsstype;
453 uint8_t bssid[ETH_ALEN]; 453 uint8_t bssid[ETH_ALEN];
454 uint8_t tlvbuffer[0]; 454 uint8_t tlvbuffer[0];
455} __attribute__ ((packed)); 455} __packed;
456 456
457struct cmd_ds_802_11_scan_rsp { 457struct cmd_ds_802_11_scan_rsp {
458 struct cmd_header hdr; 458 struct cmd_header hdr;
@@ -460,7 +460,7 @@ struct cmd_ds_802_11_scan_rsp {
460 __le16 bssdescriptsize; 460 __le16 bssdescriptsize;
461 uint8_t nr_sets; 461 uint8_t nr_sets;
462 uint8_t bssdesc_and_tlvbuffer[0]; 462 uint8_t bssdesc_and_tlvbuffer[0];
463} __attribute__ ((packed)); 463} __packed;
464 464
465struct cmd_ds_802_11_get_log { 465struct cmd_ds_802_11_get_log {
466 struct cmd_header hdr; 466 struct cmd_header hdr;
@@ -478,20 +478,20 @@ struct cmd_ds_802_11_get_log {
478 __le32 fcserror; 478 __le32 fcserror;
479 __le32 txframe; 479 __le32 txframe;
480 __le32 wepundecryptable; 480 __le32 wepundecryptable;
481} __attribute__ ((packed)); 481} __packed;
482 482
483struct cmd_ds_mac_control { 483struct cmd_ds_mac_control {
484 struct cmd_header hdr; 484 struct cmd_header hdr;
485 __le16 action; 485 __le16 action;
486 u16 reserved; 486 u16 reserved;
487} __attribute__ ((packed)); 487} __packed;
488 488
489struct cmd_ds_mac_multicast_adr { 489struct cmd_ds_mac_multicast_adr {
490 struct cmd_header hdr; 490 struct cmd_header hdr;
491 __le16 action; 491 __le16 action;
492 __le16 nr_of_adrs; 492 __le16 nr_of_adrs;
493 u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE]; 493 u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
494} __attribute__ ((packed)); 494} __packed;
495 495
496struct cmd_ds_802_11_authenticate { 496struct cmd_ds_802_11_authenticate {
497 struct cmd_header hdr; 497 struct cmd_header hdr;
@@ -499,14 +499,14 @@ struct cmd_ds_802_11_authenticate {
499 u8 bssid[ETH_ALEN]; 499 u8 bssid[ETH_ALEN];
500 u8 authtype; 500 u8 authtype;
501 u8 reserved[10]; 501 u8 reserved[10];
502} __attribute__ ((packed)); 502} __packed;
503 503
504struct cmd_ds_802_11_deauthenticate { 504struct cmd_ds_802_11_deauthenticate {
505 struct cmd_header hdr; 505 struct cmd_header hdr;
506 506
507 u8 macaddr[ETH_ALEN]; 507 u8 macaddr[ETH_ALEN];
508 __le16 reasoncode; 508 __le16 reasoncode;
509} __attribute__ ((packed)); 509} __packed;
510 510
511struct cmd_ds_802_11_associate { 511struct cmd_ds_802_11_associate {
512 struct cmd_header hdr; 512 struct cmd_header hdr;
@@ -517,7 +517,7 @@ struct cmd_ds_802_11_associate {
517 __le16 bcnperiod; 517 __le16 bcnperiod;
518 u8 dtimperiod; 518 u8 dtimperiod;
519 u8 iebuf[512]; /* Enough for required and most optional IEs */ 519 u8 iebuf[512]; /* Enough for required and most optional IEs */
520} __attribute__ ((packed)); 520} __packed;
521 521
522struct cmd_ds_802_11_associate_response { 522struct cmd_ds_802_11_associate_response {
523 struct cmd_header hdr; 523 struct cmd_header hdr;
@@ -526,7 +526,7 @@ struct cmd_ds_802_11_associate_response {
526 __le16 statuscode; 526 __le16 statuscode;
527 __le16 aid; 527 __le16 aid;
528 u8 iebuf[512]; 528 u8 iebuf[512];
529} __attribute__ ((packed)); 529} __packed;
530 530
531struct cmd_ds_802_11_set_wep { 531struct cmd_ds_802_11_set_wep {
532 struct cmd_header hdr; 532 struct cmd_header hdr;
@@ -540,7 +540,7 @@ struct cmd_ds_802_11_set_wep {
540 /* 40, 128bit or TXWEP */ 540 /* 40, 128bit or TXWEP */
541 uint8_t keytype[4]; 541 uint8_t keytype[4];
542 uint8_t keymaterial[4][16]; 542 uint8_t keymaterial[4][16];
543} __attribute__ ((packed)); 543} __packed;
544 544
545struct cmd_ds_802_11_snmp_mib { 545struct cmd_ds_802_11_snmp_mib {
546 struct cmd_header hdr; 546 struct cmd_header hdr;
@@ -549,40 +549,40 @@ struct cmd_ds_802_11_snmp_mib {
549 __le16 oid; 549 __le16 oid;
550 __le16 bufsize; 550 __le16 bufsize;
551 u8 value[128]; 551 u8 value[128];
552} __attribute__ ((packed)); 552} __packed;
553 553
554struct cmd_ds_mac_reg_access { 554struct cmd_ds_mac_reg_access {
555 __le16 action; 555 __le16 action;
556 __le16 offset; 556 __le16 offset;
557 __le32 value; 557 __le32 value;
558} __attribute__ ((packed)); 558} __packed;
559 559
560struct cmd_ds_bbp_reg_access { 560struct cmd_ds_bbp_reg_access {
561 __le16 action; 561 __le16 action;
562 __le16 offset; 562 __le16 offset;
563 u8 value; 563 u8 value;
564 u8 reserved[3]; 564 u8 reserved[3];
565} __attribute__ ((packed)); 565} __packed;
566 566
567struct cmd_ds_rf_reg_access { 567struct cmd_ds_rf_reg_access {
568 __le16 action; 568 __le16 action;
569 __le16 offset; 569 __le16 offset;
570 u8 value; 570 u8 value;
571 u8 reserved[3]; 571 u8 reserved[3];
572} __attribute__ ((packed)); 572} __packed;
573 573
574struct cmd_ds_802_11_radio_control { 574struct cmd_ds_802_11_radio_control {
575 struct cmd_header hdr; 575 struct cmd_header hdr;
576 576
577 __le16 action; 577 __le16 action;
578 __le16 control; 578 __le16 control;
579} __attribute__ ((packed)); 579} __packed;
580 580
581struct cmd_ds_802_11_beacon_control { 581struct cmd_ds_802_11_beacon_control {
582 __le16 action; 582 __le16 action;
583 __le16 beacon_enable; 583 __le16 beacon_enable;
584 __le16 beacon_period; 584 __le16 beacon_period;
585} __attribute__ ((packed)); 585} __packed;
586 586
587struct cmd_ds_802_11_sleep_params { 587struct cmd_ds_802_11_sleep_params {
588 struct cmd_header hdr; 588 struct cmd_header hdr;
@@ -607,7 +607,7 @@ struct cmd_ds_802_11_sleep_params {
607 607
608 /* reserved field, should be set to zero */ 608 /* reserved field, should be set to zero */
609 __le16 reserved; 609 __le16 reserved;
610} __attribute__ ((packed)); 610} __packed;
611 611
612struct cmd_ds_802_11_rf_channel { 612struct cmd_ds_802_11_rf_channel {
613 struct cmd_header hdr; 613 struct cmd_header hdr;
@@ -617,7 +617,7 @@ struct cmd_ds_802_11_rf_channel {
617 __le16 rftype; /* unused */ 617 __le16 rftype; /* unused */
618 __le16 reserved; /* unused */ 618 __le16 reserved; /* unused */
619 u8 channellist[32]; /* unused */ 619 u8 channellist[32]; /* unused */
620} __attribute__ ((packed)); 620} __packed;
621 621
622struct cmd_ds_802_11_rssi { 622struct cmd_ds_802_11_rssi {
623 /* weighting factor */ 623 /* weighting factor */
@@ -626,21 +626,21 @@ struct cmd_ds_802_11_rssi {
626 __le16 reserved_0; 626 __le16 reserved_0;
627 __le16 reserved_1; 627 __le16 reserved_1;
628 __le16 reserved_2; 628 __le16 reserved_2;
629} __attribute__ ((packed)); 629} __packed;
630 630
631struct cmd_ds_802_11_rssi_rsp { 631struct cmd_ds_802_11_rssi_rsp {
632 __le16 SNR; 632 __le16 SNR;
633 __le16 noisefloor; 633 __le16 noisefloor;
634 __le16 avgSNR; 634 __le16 avgSNR;
635 __le16 avgnoisefloor; 635 __le16 avgnoisefloor;
636} __attribute__ ((packed)); 636} __packed;
637 637
638struct cmd_ds_802_11_mac_address { 638struct cmd_ds_802_11_mac_address {
639 struct cmd_header hdr; 639 struct cmd_header hdr;
640 640
641 __le16 action; 641 __le16 action;
642 u8 macadd[ETH_ALEN]; 642 u8 macadd[ETH_ALEN];
643} __attribute__ ((packed)); 643} __packed;
644 644
645struct cmd_ds_802_11_rf_tx_power { 645struct cmd_ds_802_11_rf_tx_power {
646 struct cmd_header hdr; 646 struct cmd_header hdr;
@@ -649,26 +649,26 @@ struct cmd_ds_802_11_rf_tx_power {
649 __le16 curlevel; 649 __le16 curlevel;
650 s8 maxlevel; 650 s8 maxlevel;
651 s8 minlevel; 651 s8 minlevel;
652} __attribute__ ((packed)); 652} __packed;
653 653
654struct cmd_ds_802_11_monitor_mode { 654struct cmd_ds_802_11_monitor_mode {
655 __le16 action; 655 __le16 action;
656 __le16 mode; 656 __le16 mode;
657} __attribute__ ((packed)); 657} __packed;
658 658
659struct cmd_ds_set_boot2_ver { 659struct cmd_ds_set_boot2_ver {
660 struct cmd_header hdr; 660 struct cmd_header hdr;
661 661
662 __le16 action; 662 __le16 action;
663 __le16 version; 663 __le16 version;
664} __attribute__ ((packed)); 664} __packed;
665 665
666struct cmd_ds_802_11_fw_wake_method { 666struct cmd_ds_802_11_fw_wake_method {
667 struct cmd_header hdr; 667 struct cmd_header hdr;
668 668
669 __le16 action; 669 __le16 action;
670 __le16 method; 670 __le16 method;
671} __attribute__ ((packed)); 671} __packed;
672 672
673struct cmd_ds_802_11_ps_mode { 673struct cmd_ds_802_11_ps_mode {
674 __le16 action; 674 __le16 action;
@@ -676,7 +676,7 @@ struct cmd_ds_802_11_ps_mode {
676 __le16 multipledtim; 676 __le16 multipledtim;
677 __le16 reserved; 677 __le16 reserved;
678 __le16 locallisteninterval; 678 __le16 locallisteninterval;
679} __attribute__ ((packed)); 679} __packed;
680 680
681struct cmd_confirm_sleep { 681struct cmd_confirm_sleep {
682 struct cmd_header hdr; 682 struct cmd_header hdr;
@@ -686,7 +686,7 @@ struct cmd_confirm_sleep {
686 __le16 multipledtim; 686 __le16 multipledtim;
687 __le16 reserved; 687 __le16 reserved;
688 __le16 locallisteninterval; 688 __le16 locallisteninterval;
689} __attribute__ ((packed)); 689} __packed;
690 690
691struct cmd_ds_802_11_data_rate { 691struct cmd_ds_802_11_data_rate {
692 struct cmd_header hdr; 692 struct cmd_header hdr;
@@ -694,14 +694,14 @@ struct cmd_ds_802_11_data_rate {
694 __le16 action; 694 __le16 action;
695 __le16 reserved; 695 __le16 reserved;
696 u8 rates[MAX_RATES]; 696 u8 rates[MAX_RATES];
697} __attribute__ ((packed)); 697} __packed;
698 698
699struct cmd_ds_802_11_rate_adapt_rateset { 699struct cmd_ds_802_11_rate_adapt_rateset {
700 struct cmd_header hdr; 700 struct cmd_header hdr;
701 __le16 action; 701 __le16 action;
702 __le16 enablehwauto; 702 __le16 enablehwauto;
703 __le16 bitmap; 703 __le16 bitmap;
704} __attribute__ ((packed)); 704} __packed;
705 705
706struct cmd_ds_802_11_ad_hoc_start { 706struct cmd_ds_802_11_ad_hoc_start {
707 struct cmd_header hdr; 707 struct cmd_header hdr;
@@ -718,14 +718,14 @@ struct cmd_ds_802_11_ad_hoc_start {
718 __le16 capability; 718 __le16 capability;
719 u8 rates[MAX_RATES]; 719 u8 rates[MAX_RATES];
720 u8 tlv_memory_size_pad[100]; 720 u8 tlv_memory_size_pad[100];
721} __attribute__ ((packed)); 721} __packed;
722 722
723struct cmd_ds_802_11_ad_hoc_result { 723struct cmd_ds_802_11_ad_hoc_result {
724 struct cmd_header hdr; 724 struct cmd_header hdr;
725 725
726 u8 pad[3]; 726 u8 pad[3];
727 u8 bssid[ETH_ALEN]; 727 u8 bssid[ETH_ALEN];
728} __attribute__ ((packed)); 728} __packed;
729 729
730struct adhoc_bssdesc { 730struct adhoc_bssdesc {
731 u8 bssid[ETH_ALEN]; 731 u8 bssid[ETH_ALEN];
@@ -746,7 +746,7 @@ struct adhoc_bssdesc {
746 * Adhoc join command and will cause a binary layout mismatch with 746 * Adhoc join command and will cause a binary layout mismatch with
747 * the firmware 747 * the firmware
748 */ 748 */
749} __attribute__ ((packed)); 749} __packed;
750 750
751struct cmd_ds_802_11_ad_hoc_join { 751struct cmd_ds_802_11_ad_hoc_join {
752 struct cmd_header hdr; 752 struct cmd_header hdr;
@@ -754,18 +754,18 @@ struct cmd_ds_802_11_ad_hoc_join {
754 struct adhoc_bssdesc bss; 754 struct adhoc_bssdesc bss;
755 __le16 failtimeout; /* Reserved on v9 and later */ 755 __le16 failtimeout; /* Reserved on v9 and later */
756 __le16 probedelay; /* Reserved on v9 and later */ 756 __le16 probedelay; /* Reserved on v9 and later */
757} __attribute__ ((packed)); 757} __packed;
758 758
759struct cmd_ds_802_11_ad_hoc_stop { 759struct cmd_ds_802_11_ad_hoc_stop {
760 struct cmd_header hdr; 760 struct cmd_header hdr;
761} __attribute__ ((packed)); 761} __packed;
762 762
763struct cmd_ds_802_11_enable_rsn { 763struct cmd_ds_802_11_enable_rsn {
764 struct cmd_header hdr; 764 struct cmd_header hdr;
765 765
766 __le16 action; 766 __le16 action;
767 __le16 enable; 767 __le16 enable;
768} __attribute__ ((packed)); 768} __packed;
769 769
770struct MrvlIEtype_keyParamSet { 770struct MrvlIEtype_keyParamSet {
771 /* type ID */ 771 /* type ID */
@@ -785,7 +785,7 @@ struct MrvlIEtype_keyParamSet {
785 785
786 /* key material of size keylen */ 786 /* key material of size keylen */
787 u8 key[32]; 787 u8 key[32];
788} __attribute__ ((packed)); 788} __packed;
789 789
790#define MAX_WOL_RULES 16 790#define MAX_WOL_RULES 16
791 791
@@ -797,7 +797,7 @@ struct host_wol_rule {
797 __le16 reserve; 797 __le16 reserve;
798 __be32 sig_mask; 798 __be32 sig_mask;
799 __be32 signature; 799 __be32 signature;
800} __attribute__ ((packed)); 800} __packed;
801 801
802struct wol_config { 802struct wol_config {
803 uint8_t action; 803 uint8_t action;
@@ -805,7 +805,7 @@ struct wol_config {
805 uint8_t no_rules_in_cmd; 805 uint8_t no_rules_in_cmd;
806 uint8_t result; 806 uint8_t result;
807 struct host_wol_rule rule[MAX_WOL_RULES]; 807 struct host_wol_rule rule[MAX_WOL_RULES];
808} __attribute__ ((packed)); 808} __packed;
809 809
810struct cmd_ds_host_sleep { 810struct cmd_ds_host_sleep {
811 struct cmd_header hdr; 811 struct cmd_header hdr;
@@ -813,7 +813,7 @@ struct cmd_ds_host_sleep {
813 uint8_t gpio; 813 uint8_t gpio;
814 uint16_t gap; 814 uint16_t gap;
815 struct wol_config wol_conf; 815 struct wol_config wol_conf;
816} __attribute__ ((packed)); 816} __packed;
817 817
818 818
819 819
@@ -822,7 +822,7 @@ struct cmd_ds_802_11_key_material {
822 822
823 __le16 action; 823 __le16 action;
824 struct MrvlIEtype_keyParamSet keyParamSet[2]; 824 struct MrvlIEtype_keyParamSet keyParamSet[2];
825} __attribute__ ((packed)); 825} __packed;
826 826
827struct cmd_ds_802_11_eeprom_access { 827struct cmd_ds_802_11_eeprom_access {
828 struct cmd_header hdr; 828 struct cmd_header hdr;
@@ -832,7 +832,7 @@ struct cmd_ds_802_11_eeprom_access {
832 /* firmware says it returns a maximum of 20 bytes */ 832 /* firmware says it returns a maximum of 20 bytes */
833#define LBS_EEPROM_READ_LEN 20 833#define LBS_EEPROM_READ_LEN 20
834 u8 value[LBS_EEPROM_READ_LEN]; 834 u8 value[LBS_EEPROM_READ_LEN];
835} __attribute__ ((packed)); 835} __packed;
836 836
837struct cmd_ds_802_11_tpc_cfg { 837struct cmd_ds_802_11_tpc_cfg {
838 struct cmd_header hdr; 838 struct cmd_header hdr;
@@ -843,7 +843,7 @@ struct cmd_ds_802_11_tpc_cfg {
843 int8_t P1; 843 int8_t P1;
844 int8_t P2; 844 int8_t P2;
845 uint8_t usesnr; 845 uint8_t usesnr;
846} __attribute__ ((packed)); 846} __packed;
847 847
848 848
849struct cmd_ds_802_11_pa_cfg { 849struct cmd_ds_802_11_pa_cfg {
@@ -854,14 +854,14 @@ struct cmd_ds_802_11_pa_cfg {
854 int8_t P0; 854 int8_t P0;
855 int8_t P1; 855 int8_t P1;
856 int8_t P2; 856 int8_t P2;
857} __attribute__ ((packed)); 857} __packed;
858 858
859 859
860struct cmd_ds_802_11_led_ctrl { 860struct cmd_ds_802_11_led_ctrl {
861 __le16 action; 861 __le16 action;
862 __le16 numled; 862 __le16 numled;
863 u8 data[256]; 863 u8 data[256];
864} __attribute__ ((packed)); 864} __packed;
865 865
866struct cmd_ds_802_11_afc { 866struct cmd_ds_802_11_afc {
867 __le16 afc_auto; 867 __le16 afc_auto;
@@ -875,22 +875,22 @@ struct cmd_ds_802_11_afc {
875 __le16 carrier_offset; /* signed */ 875 __le16 carrier_offset; /* signed */
876 }; 876 };
877 }; 877 };
878} __attribute__ ((packed)); 878} __packed;
879 879
880struct cmd_tx_rate_query { 880struct cmd_tx_rate_query {
881 __le16 txrate; 881 __le16 txrate;
882} __attribute__ ((packed)); 882} __packed;
883 883
884struct cmd_ds_get_tsf { 884struct cmd_ds_get_tsf {
885 __le64 tsfvalue; 885 __le64 tsfvalue;
886} __attribute__ ((packed)); 886} __packed;
887 887
888struct cmd_ds_bt_access { 888struct cmd_ds_bt_access {
889 __le16 action; 889 __le16 action;
890 __le32 id; 890 __le32 id;
891 u8 addr1[ETH_ALEN]; 891 u8 addr1[ETH_ALEN];
892 u8 addr2[ETH_ALEN]; 892 u8 addr2[ETH_ALEN];
893} __attribute__ ((packed)); 893} __packed;
894 894
895struct cmd_ds_fwt_access { 895struct cmd_ds_fwt_access {
896 __le16 action; 896 __le16 action;
@@ -910,7 +910,7 @@ struct cmd_ds_fwt_access {
910 __le32 snr; 910 __le32 snr;
911 __le32 references; 911 __le32 references;
912 u8 prec[ETH_ALEN]; 912 u8 prec[ETH_ALEN];
913} __attribute__ ((packed)); 913} __packed;
914 914
915struct cmd_ds_mesh_config { 915struct cmd_ds_mesh_config {
916 struct cmd_header hdr; 916 struct cmd_header hdr;
@@ -920,14 +920,14 @@ struct cmd_ds_mesh_config {
920 __le16 type; 920 __le16 type;
921 __le16 length; 921 __le16 length;
922 u8 data[128]; /* last position reserved */ 922 u8 data[128]; /* last position reserved */
923} __attribute__ ((packed)); 923} __packed;
924 924
925struct cmd_ds_mesh_access { 925struct cmd_ds_mesh_access {
926 struct cmd_header hdr; 926 struct cmd_header hdr;
927 927
928 __le16 action; 928 __le16 action;
929 __le32 data[32]; /* last position reserved */ 929 __le32 data[32]; /* last position reserved */
930} __attribute__ ((packed)); 930} __packed;
931 931
932/* Number of stats counters returned by the firmware */ 932/* Number of stats counters returned by the firmware */
933#define MESH_STATS_NUM 8 933#define MESH_STATS_NUM 8
@@ -957,6 +957,6 @@ struct cmd_ds_command {
957 struct cmd_ds_fwt_access fwt; 957 struct cmd_ds_fwt_access fwt;
958 struct cmd_ds_802_11_beacon_control bcn_ctrl; 958 struct cmd_ds_802_11_beacon_control bcn_ctrl;
959 } params; 959 } params;
960} __attribute__ ((packed)); 960} __packed;
961 961
962#endif 962#endif
diff --git a/drivers/net/wireless/libertas/radiotap.h b/drivers/net/wireless/libertas/radiotap.h
index d16b26416e82..b3c8ea6d610e 100644
--- a/drivers/net/wireless/libertas/radiotap.h
+++ b/drivers/net/wireless/libertas/radiotap.h
@@ -6,7 +6,7 @@ struct tx_radiotap_hdr {
6 u8 txpower; 6 u8 txpower;
7 u8 rts_retries; 7 u8 rts_retries;
8 u8 data_retries; 8 u8 data_retries;
9} __attribute__ ((packed)); 9} __packed;
10 10
11#define TX_RADIOTAP_PRESENT ( \ 11#define TX_RADIOTAP_PRESENT ( \
12 (1 << IEEE80211_RADIOTAP_RATE) | \ 12 (1 << IEEE80211_RADIOTAP_RATE) | \
@@ -34,7 +34,7 @@ struct rx_radiotap_hdr {
34 u8 flags; 34 u8 flags;
35 u8 rate; 35 u8 rate;
36 u8 antsignal; 36 u8 antsignal;
37} __attribute__ ((packed)); 37} __packed;
38 38
39#define RX_RADIOTAP_PRESENT ( \ 39#define RX_RADIOTAP_PRESENT ( \
40 (1 << IEEE80211_RADIOTAP_FLAGS) | \ 40 (1 << IEEE80211_RADIOTAP_FLAGS) | \
diff --git a/drivers/net/wireless/libertas/rx.c b/drivers/net/wireless/libertas/rx.c
index 7a377f5b7662..1c63f8ce7349 100644
--- a/drivers/net/wireless/libertas/rx.c
+++ b/drivers/net/wireless/libertas/rx.c
@@ -15,7 +15,7 @@ struct eth803hdr {
15 u8 dest_addr[6]; 15 u8 dest_addr[6];
16 u8 src_addr[6]; 16 u8 src_addr[6];
17 u16 h803_len; 17 u16 h803_len;
18} __attribute__ ((packed)); 18} __packed;
19 19
20struct rfc1042hdr { 20struct rfc1042hdr {
21 u8 llc_dsap; 21 u8 llc_dsap;
@@ -23,17 +23,17 @@ struct rfc1042hdr {
23 u8 llc_ctrl; 23 u8 llc_ctrl;
24 u8 snap_oui[3]; 24 u8 snap_oui[3];
25 u16 snap_type; 25 u16 snap_type;
26} __attribute__ ((packed)); 26} __packed;
27 27
28struct rxpackethdr { 28struct rxpackethdr {
29 struct eth803hdr eth803_hdr; 29 struct eth803hdr eth803_hdr;
30 struct rfc1042hdr rfc1042_hdr; 30 struct rfc1042hdr rfc1042_hdr;
31} __attribute__ ((packed)); 31} __packed;
32 32
33struct rx80211packethdr { 33struct rx80211packethdr {
34 struct rxpd rx_pd; 34 struct rxpd rx_pd;
35 void *eth80211_hdr; 35 void *eth80211_hdr;
36} __attribute__ ((packed)); 36} __packed;
37 37
38static int process_rxed_802_11_packet(struct lbs_private *priv, 38static int process_rxed_802_11_packet(struct lbs_private *priv,
39 struct sk_buff *skb); 39 struct sk_buff *skb);
diff --git a/drivers/net/wireless/libertas/types.h b/drivers/net/wireless/libertas/types.h
index 3e72c86ceca8..462fbb4cb743 100644
--- a/drivers/net/wireless/libertas/types.h
+++ b/drivers/net/wireless/libertas/types.h
@@ -11,7 +11,7 @@
11struct ieee_ie_header { 11struct ieee_ie_header {
12 u8 id; 12 u8 id;
13 u8 len; 13 u8 len;
14} __attribute__ ((packed)); 14} __packed;
15 15
16struct ieee_ie_cf_param_set { 16struct ieee_ie_cf_param_set {
17 struct ieee_ie_header header; 17 struct ieee_ie_header header;
@@ -20,19 +20,19 @@ struct ieee_ie_cf_param_set {
20 u8 cfpperiod; 20 u8 cfpperiod;
21 __le16 cfpmaxduration; 21 __le16 cfpmaxduration;
22 __le16 cfpdurationremaining; 22 __le16 cfpdurationremaining;
23} __attribute__ ((packed)); 23} __packed;
24 24
25 25
26struct ieee_ie_ibss_param_set { 26struct ieee_ie_ibss_param_set {
27 struct ieee_ie_header header; 27 struct ieee_ie_header header;
28 28
29 __le16 atimwindow; 29 __le16 atimwindow;
30} __attribute__ ((packed)); 30} __packed;
31 31
32union ieee_ss_param_set { 32union ieee_ss_param_set {
33 struct ieee_ie_cf_param_set cf; 33 struct ieee_ie_cf_param_set cf;
34 struct ieee_ie_ibss_param_set ibss; 34 struct ieee_ie_ibss_param_set ibss;
35} __attribute__ ((packed)); 35} __packed;
36 36
37struct ieee_ie_fh_param_set { 37struct ieee_ie_fh_param_set {
38 struct ieee_ie_header header; 38 struct ieee_ie_header header;
@@ -41,18 +41,18 @@ struct ieee_ie_fh_param_set {
41 u8 hopset; 41 u8 hopset;
42 u8 hoppattern; 42 u8 hoppattern;
43 u8 hopindex; 43 u8 hopindex;
44} __attribute__ ((packed)); 44} __packed;
45 45
46struct ieee_ie_ds_param_set { 46struct ieee_ie_ds_param_set {
47 struct ieee_ie_header header; 47 struct ieee_ie_header header;
48 48
49 u8 channel; 49 u8 channel;
50} __attribute__ ((packed)); 50} __packed;
51 51
52union ieee_phy_param_set { 52union ieee_phy_param_set {
53 struct ieee_ie_fh_param_set fh; 53 struct ieee_ie_fh_param_set fh;
54 struct ieee_ie_ds_param_set ds; 54 struct ieee_ie_ds_param_set ds;
55} __attribute__ ((packed)); 55} __packed;
56 56
57/** TLV type ID definition */ 57/** TLV type ID definition */
58#define PROPRIETARY_TLV_BASE_ID 0x0100 58#define PROPRIETARY_TLV_BASE_ID 0x0100
@@ -100,28 +100,28 @@ union ieee_phy_param_set {
100struct mrvl_ie_header { 100struct mrvl_ie_header {
101 __le16 type; 101 __le16 type;
102 __le16 len; 102 __le16 len;
103} __attribute__ ((packed)); 103} __packed;
104 104
105struct mrvl_ie_data { 105struct mrvl_ie_data {
106 struct mrvl_ie_header header; 106 struct mrvl_ie_header header;
107 u8 Data[1]; 107 u8 Data[1];
108} __attribute__ ((packed)); 108} __packed;
109 109
110struct mrvl_ie_rates_param_set { 110struct mrvl_ie_rates_param_set {
111 struct mrvl_ie_header header; 111 struct mrvl_ie_header header;
112 u8 rates[1]; 112 u8 rates[1];
113} __attribute__ ((packed)); 113} __packed;
114 114
115struct mrvl_ie_ssid_param_set { 115struct mrvl_ie_ssid_param_set {
116 struct mrvl_ie_header header; 116 struct mrvl_ie_header header;
117 u8 ssid[1]; 117 u8 ssid[1];
118} __attribute__ ((packed)); 118} __packed;
119 119
120struct mrvl_ie_wildcard_ssid_param_set { 120struct mrvl_ie_wildcard_ssid_param_set {
121 struct mrvl_ie_header header; 121 struct mrvl_ie_header header;
122 u8 MaxSsidlength; 122 u8 MaxSsidlength;
123 u8 ssid[1]; 123 u8 ssid[1];
124} __attribute__ ((packed)); 124} __packed;
125 125
126struct chanscanmode { 126struct chanscanmode {
127#ifdef __BIG_ENDIAN_BITFIELD 127#ifdef __BIG_ENDIAN_BITFIELD
@@ -133,7 +133,7 @@ struct chanscanmode {
133 u8 disablechanfilt:1; 133 u8 disablechanfilt:1;
134 u8 reserved_2_7:6; 134 u8 reserved_2_7:6;
135#endif 135#endif
136} __attribute__ ((packed)); 136} __packed;
137 137
138struct chanscanparamset { 138struct chanscanparamset {
139 u8 radiotype; 139 u8 radiotype;
@@ -141,12 +141,12 @@ struct chanscanparamset {
141 struct chanscanmode chanscanmode; 141 struct chanscanmode chanscanmode;
142 __le16 minscantime; 142 __le16 minscantime;
143 __le16 maxscantime; 143 __le16 maxscantime;
144} __attribute__ ((packed)); 144} __packed;
145 145
146struct mrvl_ie_chanlist_param_set { 146struct mrvl_ie_chanlist_param_set {
147 struct mrvl_ie_header header; 147 struct mrvl_ie_header header;
148 struct chanscanparamset chanscanparam[1]; 148 struct chanscanparamset chanscanparam[1];
149} __attribute__ ((packed)); 149} __packed;
150 150
151struct mrvl_ie_cf_param_set { 151struct mrvl_ie_cf_param_set {
152 struct mrvl_ie_header header; 152 struct mrvl_ie_header header;
@@ -154,86 +154,86 @@ struct mrvl_ie_cf_param_set {
154 u8 cfpperiod; 154 u8 cfpperiod;
155 __le16 cfpmaxduration; 155 __le16 cfpmaxduration;
156 __le16 cfpdurationremaining; 156 __le16 cfpdurationremaining;
157} __attribute__ ((packed)); 157} __packed;
158 158
159struct mrvl_ie_ds_param_set { 159struct mrvl_ie_ds_param_set {
160 struct mrvl_ie_header header; 160 struct mrvl_ie_header header;
161 u8 channel; 161 u8 channel;
162} __attribute__ ((packed)); 162} __packed;
163 163
164struct mrvl_ie_rsn_param_set { 164struct mrvl_ie_rsn_param_set {
165 struct mrvl_ie_header header; 165 struct mrvl_ie_header header;
166 u8 rsnie[1]; 166 u8 rsnie[1];
167} __attribute__ ((packed)); 167} __packed;
168 168
169struct mrvl_ie_tsf_timestamp { 169struct mrvl_ie_tsf_timestamp {
170 struct mrvl_ie_header header; 170 struct mrvl_ie_header header;
171 __le64 tsftable[1]; 171 __le64 tsftable[1];
172} __attribute__ ((packed)); 172} __packed;
173 173
174/* v9 and later firmware only */ 174/* v9 and later firmware only */
175struct mrvl_ie_auth_type { 175struct mrvl_ie_auth_type {
176 struct mrvl_ie_header header; 176 struct mrvl_ie_header header;
177 __le16 auth; 177 __le16 auth;
178} __attribute__ ((packed)); 178} __packed;
179 179
180/** Local Power capability */ 180/** Local Power capability */
181struct mrvl_ie_power_capability { 181struct mrvl_ie_power_capability {
182 struct mrvl_ie_header header; 182 struct mrvl_ie_header header;
183 s8 minpower; 183 s8 minpower;
184 s8 maxpower; 184 s8 maxpower;
185} __attribute__ ((packed)); 185} __packed;
186 186
187/* used in CMD_802_11_SUBSCRIBE_EVENT for SNR, RSSI and Failure */ 187/* used in CMD_802_11_SUBSCRIBE_EVENT for SNR, RSSI and Failure */
188struct mrvl_ie_thresholds { 188struct mrvl_ie_thresholds {
189 struct mrvl_ie_header header; 189 struct mrvl_ie_header header;
190 u8 value; 190 u8 value;
191 u8 freq; 191 u8 freq;
192} __attribute__ ((packed)); 192} __packed;
193 193
194struct mrvl_ie_beacons_missed { 194struct mrvl_ie_beacons_missed {
195 struct mrvl_ie_header header; 195 struct mrvl_ie_header header;
196 u8 beaconmissed; 196 u8 beaconmissed;
197 u8 reserved; 197 u8 reserved;
198} __attribute__ ((packed)); 198} __packed;
199 199
200struct mrvl_ie_num_probes { 200struct mrvl_ie_num_probes {
201 struct mrvl_ie_header header; 201 struct mrvl_ie_header header;
202 __le16 numprobes; 202 __le16 numprobes;
203} __attribute__ ((packed)); 203} __packed;
204 204
205struct mrvl_ie_bcast_probe { 205struct mrvl_ie_bcast_probe {
206 struct mrvl_ie_header header; 206 struct mrvl_ie_header header;
207 __le16 bcastprobe; 207 __le16 bcastprobe;
208} __attribute__ ((packed)); 208} __packed;
209 209
210struct mrvl_ie_num_ssid_probe { 210struct mrvl_ie_num_ssid_probe {
211 struct mrvl_ie_header header; 211 struct mrvl_ie_header header;
212 __le16 numssidprobe; 212 __le16 numssidprobe;
213} __attribute__ ((packed)); 213} __packed;
214 214
215struct led_pin { 215struct led_pin {
216 u8 led; 216 u8 led;
217 u8 pin; 217 u8 pin;
218} __attribute__ ((packed)); 218} __packed;
219 219
220struct mrvl_ie_ledgpio { 220struct mrvl_ie_ledgpio {
221 struct mrvl_ie_header header; 221 struct mrvl_ie_header header;
222 struct led_pin ledpin[1]; 222 struct led_pin ledpin[1];
223} __attribute__ ((packed)); 223} __packed;
224 224
225struct led_bhv { 225struct led_bhv {
226 uint8_t firmwarestate; 226 uint8_t firmwarestate;
227 uint8_t led; 227 uint8_t led;
228 uint8_t ledstate; 228 uint8_t ledstate;
229 uint8_t ledarg; 229 uint8_t ledarg;
230} __attribute__ ((packed)); 230} __packed;
231 231
232 232
233struct mrvl_ie_ledbhv { 233struct mrvl_ie_ledbhv {
234 struct mrvl_ie_header header; 234 struct mrvl_ie_header header;
235 struct led_bhv ledbhv[1]; 235 struct led_bhv ledbhv[1];
236} __attribute__ ((packed)); 236} __packed;
237 237
238/* Meant to be packed as the value member of a struct ieee80211_info_element. 238/* Meant to be packed as the value member of a struct ieee80211_info_element.
239 * Note that the len member of the ieee80211_info_element varies depending on 239 * Note that the len member of the ieee80211_info_element varies depending on
@@ -248,12 +248,12 @@ struct mrvl_meshie_val {
248 uint8_t mesh_capability; 248 uint8_t mesh_capability;
249 uint8_t mesh_id_len; 249 uint8_t mesh_id_len;
250 uint8_t mesh_id[IEEE80211_MAX_SSID_LEN]; 250 uint8_t mesh_id[IEEE80211_MAX_SSID_LEN];
251} __attribute__ ((packed)); 251} __packed;
252 252
253struct mrvl_meshie { 253struct mrvl_meshie {
254 u8 id, len; 254 u8 id, len;
255 struct mrvl_meshie_val val; 255 struct mrvl_meshie_val val;
256} __attribute__ ((packed)); 256} __packed;
257 257
258struct mrvl_mesh_defaults { 258struct mrvl_mesh_defaults {
259 __le32 bootflag; 259 __le32 bootflag;
@@ -261,6 +261,6 @@ struct mrvl_mesh_defaults {
261 uint8_t reserved; 261 uint8_t reserved;
262 __le16 channel; 262 __le16 channel;
263 struct mrvl_meshie meshie; 263 struct mrvl_meshie meshie;
264} __attribute__ ((packed)); 264} __packed;
265 265
266#endif 266#endif