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 112fbf167dc..db8e209878c 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#define MRVDRV_MAX_TRIPLET_802_11D 83 392#define MRVDRV_MAX_TRIPLET_802_11D 83
393 393
@@ -450,7 +450,7 @@ struct cmd_ds_get_hw_spec {
450 450
451 /*FW/HW capability */ 451 /*FW/HW capability */
452 __le32 fwcapinfo; 452 __le32 fwcapinfo;
453} __attribute__ ((packed)); 453} __packed;
454 454
455struct cmd_ds_802_11_subscribe_event { 455struct cmd_ds_802_11_subscribe_event {
456 struct cmd_header hdr; 456 struct cmd_header hdr;
@@ -464,7 +464,7 @@ struct cmd_ds_802_11_subscribe_event {
464 * bump this up a bit. 464 * bump this up a bit.
465 */ 465 */
466 uint8_t tlv[128]; 466 uint8_t tlv[128];
467} __attribute__ ((packed)); 467} __packed;
468 468
469/* 469/*
470 * This scan handle Country Information IE(802.11d compliant) 470 * This scan handle Country Information IE(802.11d compliant)
@@ -476,7 +476,7 @@ struct cmd_ds_802_11_scan {
476 uint8_t bsstype; 476 uint8_t bsstype;
477 uint8_t bssid[ETH_ALEN]; 477 uint8_t bssid[ETH_ALEN];
478 uint8_t tlvbuffer[0]; 478 uint8_t tlvbuffer[0];
479} __attribute__ ((packed)); 479} __packed;
480 480
481struct cmd_ds_802_11_scan_rsp { 481struct cmd_ds_802_11_scan_rsp {
482 struct cmd_header hdr; 482 struct cmd_header hdr;
@@ -484,7 +484,7 @@ struct cmd_ds_802_11_scan_rsp {
484 __le16 bssdescriptsize; 484 __le16 bssdescriptsize;
485 uint8_t nr_sets; 485 uint8_t nr_sets;
486 uint8_t bssdesc_and_tlvbuffer[0]; 486 uint8_t bssdesc_and_tlvbuffer[0];
487} __attribute__ ((packed)); 487} __packed;
488 488
489struct cmd_ds_802_11_get_log { 489struct cmd_ds_802_11_get_log {
490 struct cmd_header hdr; 490 struct cmd_header hdr;
@@ -502,20 +502,20 @@ struct cmd_ds_802_11_get_log {
502 __le32 fcserror; 502 __le32 fcserror;
503 __le32 txframe; 503 __le32 txframe;
504 __le32 wepundecryptable; 504 __le32 wepundecryptable;
505} __attribute__ ((packed)); 505} __packed;
506 506
507struct cmd_ds_mac_control { 507struct cmd_ds_mac_control {
508 struct cmd_header hdr; 508 struct cmd_header hdr;
509 __le16 action; 509 __le16 action;
510 u16 reserved; 510 u16 reserved;
511} __attribute__ ((packed)); 511} __packed;
512 512
513struct cmd_ds_mac_multicast_adr { 513struct cmd_ds_mac_multicast_adr {
514 struct cmd_header hdr; 514 struct cmd_header hdr;
515 __le16 action; 515 __le16 action;
516 __le16 nr_of_adrs; 516 __le16 nr_of_adrs;
517 u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE]; 517 u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
518} __attribute__ ((packed)); 518} __packed;
519 519
520struct cmd_ds_802_11_authenticate { 520struct cmd_ds_802_11_authenticate {
521 struct cmd_header hdr; 521 struct cmd_header hdr;
@@ -523,14 +523,14 @@ struct cmd_ds_802_11_authenticate {
523 u8 bssid[ETH_ALEN]; 523 u8 bssid[ETH_ALEN];
524 u8 authtype; 524 u8 authtype;
525 u8 reserved[10]; 525 u8 reserved[10];
526} __attribute__ ((packed)); 526} __packed;
527 527
528struct cmd_ds_802_11_deauthenticate { 528struct cmd_ds_802_11_deauthenticate {
529 struct cmd_header hdr; 529 struct cmd_header hdr;
530 530
531 u8 macaddr[ETH_ALEN]; 531 u8 macaddr[ETH_ALEN];
532 __le16 reasoncode; 532 __le16 reasoncode;
533} __attribute__ ((packed)); 533} __packed;
534 534
535struct cmd_ds_802_11_associate { 535struct cmd_ds_802_11_associate {
536 struct cmd_header hdr; 536 struct cmd_header hdr;
@@ -541,7 +541,7 @@ struct cmd_ds_802_11_associate {
541 __le16 bcnperiod; 541 __le16 bcnperiod;
542 u8 dtimperiod; 542 u8 dtimperiod;
543 u8 iebuf[512]; /* Enough for required and most optional IEs */ 543 u8 iebuf[512]; /* Enough for required and most optional IEs */
544} __attribute__ ((packed)); 544} __packed;
545 545
546struct cmd_ds_802_11_associate_response { 546struct cmd_ds_802_11_associate_response {
547 struct cmd_header hdr; 547 struct cmd_header hdr;
@@ -550,7 +550,7 @@ struct cmd_ds_802_11_associate_response {
550 __le16 statuscode; 550 __le16 statuscode;
551 __le16 aid; 551 __le16 aid;
552 u8 iebuf[512]; 552 u8 iebuf[512];
553} __attribute__ ((packed)); 553} __packed;
554 554
555struct cmd_ds_802_11_set_wep { 555struct cmd_ds_802_11_set_wep {
556 struct cmd_header hdr; 556 struct cmd_header hdr;
@@ -564,7 +564,7 @@ struct cmd_ds_802_11_set_wep {
564 /* 40, 128bit or TXWEP */ 564 /* 40, 128bit or TXWEP */
565 uint8_t keytype[4]; 565 uint8_t keytype[4];
566 uint8_t keymaterial[4][16]; 566 uint8_t keymaterial[4][16];
567} __attribute__ ((packed)); 567} __packed;
568 568
569struct cmd_ds_802_11_snmp_mib { 569struct cmd_ds_802_11_snmp_mib {
570 struct cmd_header hdr; 570 struct cmd_header hdr;
@@ -573,40 +573,40 @@ struct cmd_ds_802_11_snmp_mib {
573 __le16 oid; 573 __le16 oid;
574 __le16 bufsize; 574 __le16 bufsize;
575 u8 value[128]; 575 u8 value[128];
576} __attribute__ ((packed)); 576} __packed;
577 577
578struct cmd_ds_mac_reg_access { 578struct cmd_ds_mac_reg_access {
579 __le16 action; 579 __le16 action;
580 __le16 offset; 580 __le16 offset;
581 __le32 value; 581 __le32 value;
582} __attribute__ ((packed)); 582} __packed;
583 583
584struct cmd_ds_bbp_reg_access { 584struct cmd_ds_bbp_reg_access {
585 __le16 action; 585 __le16 action;
586 __le16 offset; 586 __le16 offset;
587 u8 value; 587 u8 value;
588 u8 reserved[3]; 588 u8 reserved[3];
589} __attribute__ ((packed)); 589} __packed;
590 590
591struct cmd_ds_rf_reg_access { 591struct cmd_ds_rf_reg_access {
592 __le16 action; 592 __le16 action;
593 __le16 offset; 593 __le16 offset;
594 u8 value; 594 u8 value;
595 u8 reserved[3]; 595 u8 reserved[3];
596} __attribute__ ((packed)); 596} __packed;
597 597
598struct cmd_ds_802_11_radio_control { 598struct cmd_ds_802_11_radio_control {
599 struct cmd_header hdr; 599 struct cmd_header hdr;
600 600
601 __le16 action; 601 __le16 action;
602 __le16 control; 602 __le16 control;
603} __attribute__ ((packed)); 603} __packed;
604 604
605struct cmd_ds_802_11_beacon_control { 605struct cmd_ds_802_11_beacon_control {
606 __le16 action; 606 __le16 action;
607 __le16 beacon_enable; 607 __le16 beacon_enable;
608 __le16 beacon_period; 608 __le16 beacon_period;
609} __attribute__ ((packed)); 609} __packed;
610 610
611struct cmd_ds_802_11_sleep_params { 611struct cmd_ds_802_11_sleep_params {
612 struct cmd_header hdr; 612 struct cmd_header hdr;
@@ -631,7 +631,7 @@ struct cmd_ds_802_11_sleep_params {
631 631
632 /* reserved field, should be set to zero */ 632 /* reserved field, should be set to zero */
633 __le16 reserved; 633 __le16 reserved;
634} __attribute__ ((packed)); 634} __packed;
635 635
636struct cmd_ds_802_11_rf_channel { 636struct cmd_ds_802_11_rf_channel {
637 struct cmd_header hdr; 637 struct cmd_header hdr;
@@ -641,7 +641,7 @@ struct cmd_ds_802_11_rf_channel {
641 __le16 rftype; /* unused */ 641 __le16 rftype; /* unused */
642 __le16 reserved; /* unused */ 642 __le16 reserved; /* unused */
643 u8 channellist[32]; /* unused */ 643 u8 channellist[32]; /* unused */
644} __attribute__ ((packed)); 644} __packed;
645 645
646struct cmd_ds_802_11_rssi { 646struct cmd_ds_802_11_rssi {
647 /* weighting factor */ 647 /* weighting factor */
@@ -650,21 +650,21 @@ struct cmd_ds_802_11_rssi {
650 __le16 reserved_0; 650 __le16 reserved_0;
651 __le16 reserved_1; 651 __le16 reserved_1;
652 __le16 reserved_2; 652 __le16 reserved_2;
653} __attribute__ ((packed)); 653} __packed;
654 654
655struct cmd_ds_802_11_rssi_rsp { 655struct cmd_ds_802_11_rssi_rsp {
656 __le16 SNR; 656 __le16 SNR;
657 __le16 noisefloor; 657 __le16 noisefloor;
658 __le16 avgSNR; 658 __le16 avgSNR;
659 __le16 avgnoisefloor; 659 __le16 avgnoisefloor;
660} __attribute__ ((packed)); 660} __packed;
661 661
662struct cmd_ds_802_11_mac_address { 662struct cmd_ds_802_11_mac_address {
663 struct cmd_header hdr; 663 struct cmd_header hdr;
664 664
665 __le16 action; 665 __le16 action;
666 u8 macadd[ETH_ALEN]; 666 u8 macadd[ETH_ALEN];
667} __attribute__ ((packed)); 667} __packed;
668 668
669struct cmd_ds_802_11_rf_tx_power { 669struct cmd_ds_802_11_rf_tx_power {
670 struct cmd_header hdr; 670 struct cmd_header hdr;
@@ -673,26 +673,26 @@ struct cmd_ds_802_11_rf_tx_power {
673 __le16 curlevel; 673 __le16 curlevel;
674 s8 maxlevel; 674 s8 maxlevel;
675 s8 minlevel; 675 s8 minlevel;
676} __attribute__ ((packed)); 676} __packed;
677 677
678struct cmd_ds_802_11_monitor_mode { 678struct cmd_ds_802_11_monitor_mode {
679 __le16 action; 679 __le16 action;
680 __le16 mode; 680 __le16 mode;
681} __attribute__ ((packed)); 681} __packed;
682 682
683struct cmd_ds_set_boot2_ver { 683struct cmd_ds_set_boot2_ver {
684 struct cmd_header hdr; 684 struct cmd_header hdr;
685 685
686 __le16 action; 686 __le16 action;
687 __le16 version; 687 __le16 version;
688} __attribute__ ((packed)); 688} __packed;
689 689
690struct cmd_ds_802_11_fw_wake_method { 690struct cmd_ds_802_11_fw_wake_method {
691 struct cmd_header hdr; 691 struct cmd_header hdr;
692 692
693 __le16 action; 693 __le16 action;
694 __le16 method; 694 __le16 method;
695} __attribute__ ((packed)); 695} __packed;
696 696
697struct cmd_ds_802_11_ps_mode { 697struct cmd_ds_802_11_ps_mode {
698 __le16 action; 698 __le16 action;
@@ -700,7 +700,7 @@ struct cmd_ds_802_11_ps_mode {
700 __le16 multipledtim; 700 __le16 multipledtim;
701 __le16 reserved; 701 __le16 reserved;
702 __le16 locallisteninterval; 702 __le16 locallisteninterval;
703} __attribute__ ((packed)); 703} __packed;
704 704
705struct cmd_confirm_sleep { 705struct cmd_confirm_sleep {
706 struct cmd_header hdr; 706 struct cmd_header hdr;
@@ -710,7 +710,7 @@ struct cmd_confirm_sleep {
710 __le16 multipledtim; 710 __le16 multipledtim;
711 __le16 reserved; 711 __le16 reserved;
712 __le16 locallisteninterval; 712 __le16 locallisteninterval;
713} __attribute__ ((packed)); 713} __packed;
714 714
715struct cmd_ds_802_11_data_rate { 715struct cmd_ds_802_11_data_rate {
716 struct cmd_header hdr; 716 struct cmd_header hdr;
@@ -718,14 +718,14 @@ struct cmd_ds_802_11_data_rate {
718 __le16 action; 718 __le16 action;
719 __le16 reserved; 719 __le16 reserved;
720 u8 rates[MAX_RATES]; 720 u8 rates[MAX_RATES];
721} __attribute__ ((packed)); 721} __packed;
722 722
723struct cmd_ds_802_11_rate_adapt_rateset { 723struct cmd_ds_802_11_rate_adapt_rateset {
724 struct cmd_header hdr; 724 struct cmd_header hdr;
725 __le16 action; 725 __le16 action;
726 __le16 enablehwauto; 726 __le16 enablehwauto;
727 __le16 bitmap; 727 __le16 bitmap;
728} __attribute__ ((packed)); 728} __packed;
729 729
730struct cmd_ds_802_11_ad_hoc_start { 730struct cmd_ds_802_11_ad_hoc_start {
731 struct cmd_header hdr; 731 struct cmd_header hdr;
@@ -742,14 +742,14 @@ struct cmd_ds_802_11_ad_hoc_start {
742 __le16 capability; 742 __le16 capability;
743 u8 rates[MAX_RATES]; 743 u8 rates[MAX_RATES];
744 u8 tlv_memory_size_pad[100]; 744 u8 tlv_memory_size_pad[100];
745} __attribute__ ((packed)); 745} __packed;
746 746
747struct cmd_ds_802_11_ad_hoc_result { 747struct cmd_ds_802_11_ad_hoc_result {
748 struct cmd_header hdr; 748 struct cmd_header hdr;
749 749
750 u8 pad[3]; 750 u8 pad[3];
751 u8 bssid[ETH_ALEN]; 751 u8 bssid[ETH_ALEN];
752} __attribute__ ((packed)); 752} __packed;
753 753
754struct adhoc_bssdesc { 754struct adhoc_bssdesc {
755 u8 bssid[ETH_ALEN]; 755 u8 bssid[ETH_ALEN];
@@ -770,7 +770,7 @@ struct adhoc_bssdesc {
770 * Adhoc join command and will cause a binary layout mismatch with 770 * Adhoc join command and will cause a binary layout mismatch with
771 * the firmware 771 * the firmware
772 */ 772 */
773} __attribute__ ((packed)); 773} __packed;
774 774
775struct cmd_ds_802_11_ad_hoc_join { 775struct cmd_ds_802_11_ad_hoc_join {
776 struct cmd_header hdr; 776 struct cmd_header hdr;
@@ -778,18 +778,18 @@ struct cmd_ds_802_11_ad_hoc_join {
778 struct adhoc_bssdesc bss; 778 struct adhoc_bssdesc bss;
779 __le16 failtimeout; /* Reserved on v9 and later */ 779 __le16 failtimeout; /* Reserved on v9 and later */
780 __le16 probedelay; /* Reserved on v9 and later */ 780 __le16 probedelay; /* Reserved on v9 and later */
781} __attribute__ ((packed)); 781} __packed;
782 782
783struct cmd_ds_802_11_ad_hoc_stop { 783struct cmd_ds_802_11_ad_hoc_stop {
784 struct cmd_header hdr; 784 struct cmd_header hdr;
785} __attribute__ ((packed)); 785} __packed;
786 786
787struct cmd_ds_802_11_enable_rsn { 787struct cmd_ds_802_11_enable_rsn {
788 struct cmd_header hdr; 788 struct cmd_header hdr;
789 789
790 __le16 action; 790 __le16 action;
791 __le16 enable; 791 __le16 enable;
792} __attribute__ ((packed)); 792} __packed;
793 793
794struct MrvlIEtype_keyParamSet { 794struct MrvlIEtype_keyParamSet {
795 /* type ID */ 795 /* type ID */
@@ -809,7 +809,7 @@ struct MrvlIEtype_keyParamSet {
809 809
810 /* key material of size keylen */ 810 /* key material of size keylen */
811 u8 key[32]; 811 u8 key[32];
812} __attribute__ ((packed)); 812} __packed;
813 813
814#define MAX_WOL_RULES 16 814#define MAX_WOL_RULES 16
815 815
@@ -821,7 +821,7 @@ struct host_wol_rule {
821 __le16 reserve; 821 __le16 reserve;
822 __be32 sig_mask; 822 __be32 sig_mask;
823 __be32 signature; 823 __be32 signature;
824} __attribute__ ((packed)); 824} __packed;
825 825
826struct wol_config { 826struct wol_config {
827 uint8_t action; 827 uint8_t action;
@@ -829,7 +829,7 @@ struct wol_config {
829 uint8_t no_rules_in_cmd; 829 uint8_t no_rules_in_cmd;
830 uint8_t result; 830 uint8_t result;
831 struct host_wol_rule rule[MAX_WOL_RULES]; 831 struct host_wol_rule rule[MAX_WOL_RULES];
832} __attribute__ ((packed)); 832} __packed;
833 833
834struct cmd_ds_host_sleep { 834struct cmd_ds_host_sleep {
835 struct cmd_header hdr; 835 struct cmd_header hdr;
@@ -837,7 +837,7 @@ struct cmd_ds_host_sleep {
837 uint8_t gpio; 837 uint8_t gpio;
838 uint16_t gap; 838 uint16_t gap;
839 struct wol_config wol_conf; 839 struct wol_config wol_conf;
840} __attribute__ ((packed)); 840} __packed;
841 841
842 842
843 843
@@ -846,7 +846,7 @@ struct cmd_ds_802_11_key_material {
846 846
847 __le16 action; 847 __le16 action;
848 struct MrvlIEtype_keyParamSet keyParamSet[2]; 848 struct MrvlIEtype_keyParamSet keyParamSet[2];
849} __attribute__ ((packed)); 849} __packed;
850 850
851struct cmd_ds_802_11_eeprom_access { 851struct cmd_ds_802_11_eeprom_access {
852 struct cmd_header hdr; 852 struct cmd_header hdr;
@@ -856,7 +856,7 @@ struct cmd_ds_802_11_eeprom_access {
856 /* firmware says it returns a maximum of 20 bytes */ 856 /* firmware says it returns a maximum of 20 bytes */
857#define LBS_EEPROM_READ_LEN 20 857#define LBS_EEPROM_READ_LEN 20
858 u8 value[LBS_EEPROM_READ_LEN]; 858 u8 value[LBS_EEPROM_READ_LEN];
859} __attribute__ ((packed)); 859} __packed;
860 860
861struct cmd_ds_802_11_tpc_cfg { 861struct cmd_ds_802_11_tpc_cfg {
862 struct cmd_header hdr; 862 struct cmd_header hdr;
@@ -867,7 +867,7 @@ struct cmd_ds_802_11_tpc_cfg {
867 int8_t P1; 867 int8_t P1;
868 int8_t P2; 868 int8_t P2;
869 uint8_t usesnr; 869 uint8_t usesnr;
870} __attribute__ ((packed)); 870} __packed;
871 871
872 872
873struct cmd_ds_802_11_pa_cfg { 873struct cmd_ds_802_11_pa_cfg {
@@ -878,14 +878,14 @@ struct cmd_ds_802_11_pa_cfg {
878 int8_t P0; 878 int8_t P0;
879 int8_t P1; 879 int8_t P1;
880 int8_t P2; 880 int8_t P2;
881} __attribute__ ((packed)); 881} __packed;
882 882
883 883
884struct cmd_ds_802_11_led_ctrl { 884struct cmd_ds_802_11_led_ctrl {
885 __le16 action; 885 __le16 action;
886 __le16 numled; 886 __le16 numled;
887 u8 data[256]; 887 u8 data[256];
888} __attribute__ ((packed)); 888} __packed;
889 889
890struct cmd_ds_802_11_afc { 890struct cmd_ds_802_11_afc {
891 __le16 afc_auto; 891 __le16 afc_auto;
@@ -899,22 +899,22 @@ struct cmd_ds_802_11_afc {
899 __le16 carrier_offset; /* signed */ 899 __le16 carrier_offset; /* signed */
900 }; 900 };
901 }; 901 };
902} __attribute__ ((packed)); 902} __packed;
903 903
904struct cmd_tx_rate_query { 904struct cmd_tx_rate_query {
905 __le16 txrate; 905 __le16 txrate;
906} __attribute__ ((packed)); 906} __packed;
907 907
908struct cmd_ds_get_tsf { 908struct cmd_ds_get_tsf {
909 __le64 tsfvalue; 909 __le64 tsfvalue;
910} __attribute__ ((packed)); 910} __packed;
911 911
912struct cmd_ds_bt_access { 912struct cmd_ds_bt_access {
913 __le16 action; 913 __le16 action;
914 __le32 id; 914 __le32 id;
915 u8 addr1[ETH_ALEN]; 915 u8 addr1[ETH_ALEN];
916 u8 addr2[ETH_ALEN]; 916 u8 addr2[ETH_ALEN];
917} __attribute__ ((packed)); 917} __packed;
918 918
919struct cmd_ds_fwt_access { 919struct cmd_ds_fwt_access {
920 __le16 action; 920 __le16 action;
@@ -934,7 +934,7 @@ struct cmd_ds_fwt_access {
934 __le32 snr; 934 __le32 snr;
935 __le32 references; 935 __le32 references;
936 u8 prec[ETH_ALEN]; 936 u8 prec[ETH_ALEN];
937} __attribute__ ((packed)); 937} __packed;
938 938
939struct cmd_ds_mesh_config { 939struct cmd_ds_mesh_config {
940 struct cmd_header hdr; 940 struct cmd_header hdr;
@@ -944,14 +944,14 @@ struct cmd_ds_mesh_config {
944 __le16 type; 944 __le16 type;
945 __le16 length; 945 __le16 length;
946 u8 data[128]; /* last position reserved */ 946 u8 data[128]; /* last position reserved */
947} __attribute__ ((packed)); 947} __packed;
948 948
949struct cmd_ds_mesh_access { 949struct cmd_ds_mesh_access {
950 struct cmd_header hdr; 950 struct cmd_header hdr;
951 951
952 __le16 action; 952 __le16 action;
953 __le32 data[32]; /* last position reserved */ 953 __le32 data[32]; /* last position reserved */
954} __attribute__ ((packed)); 954} __packed;
955 955
956/* Number of stats counters returned by the firmware */ 956/* Number of stats counters returned by the firmware */
957#define MESH_STATS_NUM 8 957#define MESH_STATS_NUM 8
@@ -984,5 +984,5 @@ struct cmd_ds_command {
984 struct cmd_ds_fwt_access fwt; 984 struct cmd_ds_fwt_access fwt;
985 struct cmd_ds_802_11_beacon_control bcn_ctrl; 985 struct cmd_ds_802_11_beacon_control bcn_ctrl;
986 } params; 986 } params;
987} __attribute__ ((packed)); 987} __packed;
988#endif 988#endif
diff --git a/drivers/net/wireless/libertas/radiotap.h b/drivers/net/wireless/libertas/radiotap.h
index d16b26416e8..b3c8ea6d610 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 2163df01cae..a4d0bca9ef2 100644
--- a/drivers/net/wireless/libertas/rx.c
+++ b/drivers/net/wireless/libertas/rx.c
@@ -16,7 +16,7 @@ struct eth803hdr {
16 u8 dest_addr[6]; 16 u8 dest_addr[6];
17 u8 src_addr[6]; 17 u8 src_addr[6];
18 u16 h803_len; 18 u16 h803_len;
19} __attribute__ ((packed)); 19} __packed;
20 20
21struct rfc1042hdr { 21struct rfc1042hdr {
22 u8 llc_dsap; 22 u8 llc_dsap;
@@ -24,17 +24,17 @@ struct rfc1042hdr {
24 u8 llc_ctrl; 24 u8 llc_ctrl;
25 u8 snap_oui[3]; 25 u8 snap_oui[3];
26 u16 snap_type; 26 u16 snap_type;
27} __attribute__ ((packed)); 27} __packed;
28 28
29struct rxpackethdr { 29struct rxpackethdr {
30 struct eth803hdr eth803_hdr; 30 struct eth803hdr eth803_hdr;
31 struct rfc1042hdr rfc1042_hdr; 31 struct rfc1042hdr rfc1042_hdr;
32} __attribute__ ((packed)); 32} __packed;
33 33
34struct rx80211packethdr { 34struct rx80211packethdr {
35 struct rxpd rx_pd; 35 struct rxpd rx_pd;
36 void *eth80211_hdr; 36 void *eth80211_hdr;
37} __attribute__ ((packed)); 37} __packed;
38 38
39static int process_rxed_802_11_packet(struct lbs_private *priv, 39static int process_rxed_802_11_packet(struct lbs_private *priv,
40 struct sk_buff *skb); 40 struct sk_buff *skb);
diff --git a/drivers/net/wireless/libertas/types.h b/drivers/net/wireless/libertas/types.h
index 3e72c86ceca..462fbb4cb74 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