aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHolger Schurig <hs4233@mail.mn-solutions.de>2007-08-02 11:53:36 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:49:53 -0400
commit6b63cd0f420c3c3002024da6c9eff252a3772021 (patch)
tree87df4e20432a393b9137952a4ad6aa0cc63163b5 /drivers
parentece561919326236c7fb791a5e883f0eb76af029e (diff)
[PATCH] libertas: remove a hundred CMD_RET_xxx definitions
types.h contains the same amount of CMD_RET_xxx and CMD_xxx definitions. They contains the same info: the firmware command opcode and, when the firmware sends back a result, the command opcode ORed with 0x8000. Having the same data twice in the source code is redundant and can lead to errors (e.g. if you update or delete only one instance). This patch removed all CMD_RET_xxx definitions and introduces a simple CMD_RET() macro. Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/libertas/cmdresp.c101
-rw-r--r--drivers/net/wireless/libertas/debugfs.c26
-rw-r--r--drivers/net/wireless/libertas/host.h87
-rw-r--r--drivers/net/wireless/libertas/join.c2
4 files changed, 76 insertions, 140 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c
index 6166bbc0528e..ae11e1f2739f 100644
--- a/drivers/net/wireless/libertas/cmdresp.c
+++ b/drivers/net/wireless/libertas/cmdresp.c
@@ -124,7 +124,7 @@ static int wlan_ret_reg_access(wlan_private * priv,
124 lbs_deb_enter(LBS_DEB_CMD); 124 lbs_deb_enter(LBS_DEB_CMD);
125 125
126 switch (type) { 126 switch (type) {
127 case CMD_RET_MAC_REG_ACCESS: 127 case CMD_RET(CMD_MAC_REG_ACCESS):
128 { 128 {
129 struct cmd_ds_mac_reg_access *reg = &resp->params.macreg; 129 struct cmd_ds_mac_reg_access *reg = &resp->params.macreg;
130 130
@@ -133,7 +133,7 @@ static int wlan_ret_reg_access(wlan_private * priv,
133 break; 133 break;
134 } 134 }
135 135
136 case CMD_RET_BBP_REG_ACCESS: 136 case CMD_RET(CMD_BBP_REG_ACCESS):
137 { 137 {
138 struct cmd_ds_bbp_reg_access *reg = &resp->params.bbpreg; 138 struct cmd_ds_bbp_reg_access *reg = &resp->params.bbpreg;
139 139
@@ -142,7 +142,7 @@ static int wlan_ret_reg_access(wlan_private * priv,
142 break; 142 break;
143 } 143 }
144 144
145 case CMD_RET_RF_REG_ACCESS: 145 case CMD_RET(CMD_RF_REG_ACCESS):
146 { 146 {
147 struct cmd_ds_rf_reg_access *reg = &resp->params.rfreg; 147 struct cmd_ds_rf_reg_access *reg = &resp->params.rfreg;
148 148
@@ -560,134 +560,135 @@ static inline int handle_cmd_response(u16 respcmd,
560 wlan_adapter *adapter = priv->adapter; 560 wlan_adapter *adapter = priv->adapter;
561 561
562 switch (respcmd) { 562 switch (respcmd) {
563 case CMD_RET_MAC_REG_ACCESS: 563 case CMD_RET(CMD_MAC_REG_ACCESS):
564 case CMD_RET_BBP_REG_ACCESS: 564 case CMD_RET(CMD_BBP_REG_ACCESS):
565 case CMD_RET_RF_REG_ACCESS: 565 case CMD_RET(CMD_RF_REG_ACCESS):
566 ret = wlan_ret_reg_access(priv, respcmd, resp); 566 ret = wlan_ret_reg_access(priv, respcmd, resp);
567 break; 567 break;
568 568
569 case CMD_RET_HW_SPEC_INFO: 569 case CMD_RET(CMD_GET_HW_SPEC):
570 ret = wlan_ret_get_hw_spec(priv, resp); 570 ret = wlan_ret_get_hw_spec(priv, resp);
571 break; 571 break;
572 572
573 case CMD_RET_802_11_SCAN: 573 case CMD_RET(CMD_802_11_SCAN):
574 ret = libertas_ret_80211_scan(priv, resp); 574 ret = libertas_ret_80211_scan(priv, resp);
575 break; 575 break;
576 576
577 case CMD_RET_802_11_GET_LOG: 577 case CMD_RET(CMD_802_11_GET_LOG):
578 ret = wlan_ret_get_log(priv, resp); 578 ret = wlan_ret_get_log(priv, resp);
579 break; 579 break;
580 580
581 case CMD_RET_802_11_ASSOCIATE: 581 case CMD_RET_802_11_ASSOCIATE:
582 case CMD_RET_802_11_REASSOCIATE: 582 case CMD_RET(CMD_802_11_ASSOCIATE):
583 case CMD_RET(CMD_802_11_REASSOCIATE):
583 ret = libertas_ret_80211_associate(priv, resp); 584 ret = libertas_ret_80211_associate(priv, resp);
584 break; 585 break;
585 586
586 case CMD_RET_802_11_DISASSOCIATE: 587 case CMD_RET(CMD_802_11_DISASSOCIATE):
587 case CMD_RET_802_11_DEAUTHENTICATE: 588 case CMD_RET(CMD_802_11_DEAUTHENTICATE):
588 ret = libertas_ret_80211_disassociate(priv, resp); 589 ret = libertas_ret_80211_disassociate(priv, resp);
589 break; 590 break;
590 591
591 case CMD_RET_802_11_AD_HOC_START: 592 case CMD_RET(CMD_802_11_AD_HOC_START):
592 case CMD_RET_802_11_AD_HOC_JOIN: 593 case CMD_RET(CMD_802_11_AD_HOC_JOIN):
593 ret = libertas_ret_80211_ad_hoc_start(priv, resp); 594 ret = libertas_ret_80211_ad_hoc_start(priv, resp);
594 break; 595 break;
595 596
596 case CMD_RET_802_11_STAT: 597 case CMD_RET(CMD_802_11_GET_STAT):
597 ret = wlan_ret_802_11_stat(priv, resp); 598 ret = wlan_ret_802_11_stat(priv, resp);
598 break; 599 break;
599 600
600 case CMD_RET_802_11_SNMP_MIB: 601 case CMD_RET(CMD_802_11_SNMP_MIB):
601 ret = wlan_ret_802_11_snmp_mib(priv, resp); 602 ret = wlan_ret_802_11_snmp_mib(priv, resp);
602 break; 603 break;
603 604
604 case CMD_RET_802_11_RF_TX_POWER: 605 case CMD_RET(CMD_802_11_RF_TX_POWER):
605 ret = wlan_ret_802_11_rf_tx_power(priv, resp); 606 ret = wlan_ret_802_11_rf_tx_power(priv, resp);
606 break; 607 break;
607 608
608 case CMD_RET_802_11_SET_AFC: 609 case CMD_RET(CMD_802_11_SET_AFC):
609 case CMD_RET_802_11_GET_AFC: 610 case CMD_RET(CMD_802_11_GET_AFC):
610 spin_lock_irqsave(&adapter->driver_lock, flags); 611 spin_lock_irqsave(&adapter->driver_lock, flags);
611 memmove(adapter->cur_cmd->pdata_buf, &resp->params.afc, 612 memmove(adapter->cur_cmd->pdata_buf, &resp->params.afc,
612 sizeof(struct cmd_ds_802_11_afc)); 613 sizeof(struct cmd_ds_802_11_afc));
613 spin_unlock_irqrestore(&adapter->driver_lock, flags); 614 spin_unlock_irqrestore(&adapter->driver_lock, flags);
614 615
615 break; 616 break;
616 case CMD_RET_802_11_RF_ANTENNA: 617 case CMD_RET(CMD_802_11_RF_ANTENNA):
617 ret = wlan_ret_802_11_rf_antenna(priv, resp); 618 ret = wlan_ret_802_11_rf_antenna(priv, resp);
618 break; 619 break;
619 620
620 case CMD_RET_MAC_MULTICAST_ADR: 621 case CMD_RET(CMD_MAC_MULTICAST_ADR):
621 case CMD_RET_MAC_CONTROL: 622 case CMD_RET(CMD_MAC_CONTROL):
622 case CMD_RET_802_11_SET_WEP: 623 case CMD_RET(CMD_802_11_SET_WEP):
623 case CMD_RET_802_11_RESET: 624 case CMD_RET(CMD_802_11_RESET):
624 case CMD_RET_802_11_AUTHENTICATE: 625 case CMD_RET(CMD_802_11_AUTHENTICATE):
625 case CMD_RET_802_11_RADIO_CONTROL: 626 case CMD_RET(CMD_802_11_RADIO_CONTROL):
626 case CMD_RET_802_11_BEACON_STOP: 627 case CMD_RET(CMD_802_11_BEACON_STOP):
627 break; 628 break;
628 629
629 case CMD_RET_802_11_ENABLE_RSN: 630 case CMD_RET(CMD_802_11_ENABLE_RSN):
630 ret = libertas_ret_802_11_enable_rsn(priv, resp); 631 ret = libertas_ret_802_11_enable_rsn(priv, resp);
631 break; 632 break;
632 633
633 case CMD_RET_802_11_DATA_RATE: 634 case CMD_RET(CMD_802_11_DATA_RATE):
634 ret = wlan_ret_802_11_data_rate(priv, resp); 635 ret = wlan_ret_802_11_data_rate(priv, resp);
635 break; 636 break;
636 case CMD_RET_802_11_RATE_ADAPT_RATESET: 637 case CMD_RET(CMD_802_11_RATE_ADAPT_RATESET):
637 ret = wlan_ret_802_11_rate_adapt_rateset(priv, resp); 638 ret = wlan_ret_802_11_rate_adapt_rateset(priv, resp);
638 break; 639 break;
639 case CMD_RET_802_11_RF_CHANNEL: 640 case CMD_RET(CMD_802_11_RF_CHANNEL):
640 ret = wlan_ret_802_11_rf_channel(priv, resp); 641 ret = wlan_ret_802_11_rf_channel(priv, resp);
641 break; 642 break;
642 643
643 case CMD_RET_802_11_RSSI: 644 case CMD_RET(CMD_802_11_RSSI):
644 ret = wlan_ret_802_11_rssi(priv, resp); 645 ret = wlan_ret_802_11_rssi(priv, resp);
645 break; 646 break;
646 647
647 case CMD_RET_802_11_MAC_ADDRESS: 648 case CMD_RET(CMD_802_11_MAC_ADDRESS):
648 ret = wlan_ret_802_11_mac_address(priv, resp); 649 ret = wlan_ret_802_11_mac_address(priv, resp);
649 break; 650 break;
650 651
651 case CMD_RET_802_11_AD_HOC_STOP: 652 case CMD_RET(CMD_802_11_AD_HOC_STOP):
652 ret = libertas_ret_80211_ad_hoc_stop(priv, resp); 653 ret = libertas_ret_80211_ad_hoc_stop(priv, resp);
653 break; 654 break;
654 655
655 case CMD_RET_802_11_KEY_MATERIAL: 656 case CMD_RET(CMD_802_11_KEY_MATERIAL):
656 lbs_deb_cmd("CMD_RESP: KEY_MATERIAL command response\n"); 657 lbs_deb_cmd("CMD_RESP: KEY_MATERIAL command response\n");
657 ret = wlan_ret_802_11_key_material(priv, resp); 658 ret = wlan_ret_802_11_key_material(priv, resp);
658 break; 659 break;
659 660
660 case CMD_RET_802_11_EEPROM_ACCESS: 661 case CMD_RET(CMD_802_11_EEPROM_ACCESS):
661 ret = wlan_ret_802_11_eeprom_access(priv, resp); 662 ret = wlan_ret_802_11_eeprom_access(priv, resp);
662 break; 663 break;
663 664
664 case CMD_RET_802_11D_DOMAIN_INFO: 665 case CMD_RET(CMD_802_11D_DOMAIN_INFO):
665 ret = libertas_ret_802_11d_domain_info(priv, resp); 666 ret = libertas_ret_802_11d_domain_info(priv, resp);
666 break; 667 break;
667 668
668 case CMD_RET_802_11_SLEEP_PARAMS: 669 case CMD_RET(CMD_802_11_SLEEP_PARAMS):
669 ret = wlan_ret_802_11_sleep_params(priv, resp); 670 ret = wlan_ret_802_11_sleep_params(priv, resp);
670 break; 671 break;
671 case CMD_RET_802_11_INACTIVITY_TIMEOUT: 672 case CMD_RET(CMD_802_11_INACTIVITY_TIMEOUT):
672 spin_lock_irqsave(&adapter->driver_lock, flags); 673 spin_lock_irqsave(&adapter->driver_lock, flags);
673 *((u16 *) adapter->cur_cmd->pdata_buf) = 674 *((u16 *) adapter->cur_cmd->pdata_buf) =
674 le16_to_cpu(resp->params.inactivity_timeout.timeout); 675 le16_to_cpu(resp->params.inactivity_timeout.timeout);
675 spin_unlock_irqrestore(&adapter->driver_lock, flags); 676 spin_unlock_irqrestore(&adapter->driver_lock, flags);
676 break; 677 break;
677 678
678 case CMD_RET_802_11_TPC_CFG: 679 case CMD_RET(CMD_802_11_TPC_CFG):
679 spin_lock_irqsave(&adapter->driver_lock, flags); 680 spin_lock_irqsave(&adapter->driver_lock, flags);
680 memmove(adapter->cur_cmd->pdata_buf, &resp->params.tpccfg, 681 memmove(adapter->cur_cmd->pdata_buf, &resp->params.tpccfg,
681 sizeof(struct cmd_ds_802_11_tpc_cfg)); 682 sizeof(struct cmd_ds_802_11_tpc_cfg));
682 spin_unlock_irqrestore(&adapter->driver_lock, flags); 683 spin_unlock_irqrestore(&adapter->driver_lock, flags);
683 break; 684 break;
684 case CMD_RET_802_11_LED_GPIO_CTRL: 685 case CMD_RET(CMD_802_11_LED_GPIO_CTRL):
685 spin_lock_irqsave(&adapter->driver_lock, flags); 686 spin_lock_irqsave(&adapter->driver_lock, flags);
686 memmove(adapter->cur_cmd->pdata_buf, &resp->params.ledgpio, 687 memmove(adapter->cur_cmd->pdata_buf, &resp->params.ledgpio,
687 sizeof(struct cmd_ds_802_11_led_ctrl)); 688 sizeof(struct cmd_ds_802_11_led_ctrl));
688 spin_unlock_irqrestore(&adapter->driver_lock, flags); 689 spin_unlock_irqrestore(&adapter->driver_lock, flags);
689 break; 690 break;
690 case CMD_RET_802_11_PWR_CFG: 691 case CMD_RET(CMD_802_11_PWR_CFG):
691 spin_lock_irqsave(&adapter->driver_lock, flags); 692 spin_lock_irqsave(&adapter->driver_lock, flags);
692 memmove(adapter->cur_cmd->pdata_buf, &resp->params.pwrcfg, 693 memmove(adapter->cur_cmd->pdata_buf, &resp->params.pwrcfg,
693 sizeof(struct cmd_ds_802_11_pwr_cfg)); 694 sizeof(struct cmd_ds_802_11_pwr_cfg));
@@ -695,32 +696,32 @@ static inline int handle_cmd_response(u16 respcmd,
695 696
696 break; 697 break;
697 698
698 case CMD_RET_GET_TSF: 699 case CMD_RET(CMD_GET_TSF):
699 spin_lock_irqsave(&adapter->driver_lock, flags); 700 spin_lock_irqsave(&adapter->driver_lock, flags);
700 memcpy(priv->adapter->cur_cmd->pdata_buf, 701 memcpy(priv->adapter->cur_cmd->pdata_buf,
701 &resp->params.gettsf.tsfvalue, sizeof(u64)); 702 &resp->params.gettsf.tsfvalue, sizeof(u64));
702 spin_unlock_irqrestore(&adapter->driver_lock, flags); 703 spin_unlock_irqrestore(&adapter->driver_lock, flags);
703 break; 704 break;
704 case CMD_RET_BT_ACCESS: 705 case CMD_RET(CMD_BT_ACCESS):
705 spin_lock_irqsave(&adapter->driver_lock, flags); 706 spin_lock_irqsave(&adapter->driver_lock, flags);
706 if (adapter->cur_cmd->pdata_buf) 707 if (adapter->cur_cmd->pdata_buf)
707 memcpy(adapter->cur_cmd->pdata_buf, 708 memcpy(adapter->cur_cmd->pdata_buf,
708 &resp->params.bt.addr1, 2 * ETH_ALEN); 709 &resp->params.bt.addr1, 2 * ETH_ALEN);
709 spin_unlock_irqrestore(&adapter->driver_lock, flags); 710 spin_unlock_irqrestore(&adapter->driver_lock, flags);
710 break; 711 break;
711 case CMD_RET_FWT_ACCESS: 712 case CMD_RET(CMD_FWT_ACCESS):
712 spin_lock_irqsave(&adapter->driver_lock, flags); 713 spin_lock_irqsave(&adapter->driver_lock, flags);
713 if (adapter->cur_cmd->pdata_buf) 714 if (adapter->cur_cmd->pdata_buf)
714 memcpy(adapter->cur_cmd->pdata_buf, &resp->params.fwt, 715 memcpy(adapter->cur_cmd->pdata_buf, &resp->params.fwt,
715 sizeof(resp->params.fwt)); 716 sizeof(resp->params.fwt));
716 spin_unlock_irqrestore(&adapter->driver_lock, flags); 717 spin_unlock_irqrestore(&adapter->driver_lock, flags);
717 break; 718 break;
718 case CMD_RET_MESH_ACCESS: 719 case CMD_RET(CMD_MESH_ACCESS):
719 if (adapter->cur_cmd->pdata_buf) 720 if (adapter->cur_cmd->pdata_buf)
720 memcpy(adapter->cur_cmd->pdata_buf, &resp->params.mesh, 721 memcpy(adapter->cur_cmd->pdata_buf, &resp->params.mesh,
721 sizeof(resp->params.mesh)); 722 sizeof(resp->params.mesh));
722 break; 723 break;
723 case CMD_RTE_802_11_TX_RATE_QUERY: 724 case CMD_RET(CMD_802_11_TX_RATE_QUERY):
724 priv->adapter->txrate = resp->params.txrate.txrate; 725 priv->adapter->txrate = resp->params.txrate.txrate;
725 break; 726 break;
726 default: 727 default:
@@ -782,7 +783,7 @@ int libertas_process_rx_command(wlan_private * priv)
782 /* Store the response code to cur_cmd_retcode. */ 783 /* Store the response code to cur_cmd_retcode. */
783 adapter->cur_cmd_retcode = result;; 784 adapter->cur_cmd_retcode = result;;
784 785
785 if (respcmd == CMD_RET_802_11_PS_MODE) { 786 if (respcmd == CMD_RET(CMD_802_11_PS_MODE)) {
786 struct cmd_ds_802_11_ps_mode *psmode = &resp->params.psmode; 787 struct cmd_ds_802_11_ps_mode *psmode = &resp->params.psmode;
787 u16 action = le16_to_cpu(psmode->action); 788 u16 action = le16_to_cpu(psmode->action);
788 789
@@ -852,8 +853,8 @@ int libertas_process_rx_command(wlan_private * priv)
852 * Handling errors here 853 * Handling errors here
853 */ 854 */
854 switch (respcmd) { 855 switch (respcmd) {
855 case CMD_RET_HW_SPEC_INFO: 856 case CMD_RET(CMD_GET_HW_SPEC):
856 case CMD_RET_802_11_RESET: 857 case CMD_RET(CMD_802_11_RESET):
857 lbs_deb_cmd("CMD_RESP: Reset command failed\n"); 858 lbs_deb_cmd("CMD_RESP: Reset command failed\n");
858 break; 859 break;
859 860
diff --git a/drivers/net/wireless/libertas/debugfs.c b/drivers/net/wireless/libertas/debugfs.c
index 9439005db4e6..4b9533a66511 100644
--- a/drivers/net/wireless/libertas/debugfs.c
+++ b/drivers/net/wireless/libertas/debugfs.c
@@ -447,7 +447,7 @@ static ssize_t libertas_lowrssi_read(struct file *file, char __user *userbuf,
447 return 0; 447 return 0;
448 } 448 }
449 449
450 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 450 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
451 lbs_pr_err("command response incorrect!\n"); 451 lbs_pr_err("command response incorrect!\n");
452 kfree(response_buf); 452 kfree(response_buf);
453 free_page(addr); 453 free_page(addr);
@@ -511,7 +511,7 @@ static u16 libertas_get_events_bitmap(wlan_private *priv)
511 return 0; 511 return 0;
512 } 512 }
513 513
514 if (pcmdptr->command != CMD_RET_802_11_SUBSCRIBE_EVENT) { 514 if (pcmdptr->command != CMD_RET(CMD_802_11_SUBSCRIBE_EVENT)) {
515 lbs_pr_err("command response incorrect!\n"); 515 lbs_pr_err("command response incorrect!\n");
516 kfree(response_buf); 516 kfree(response_buf);
517 return 0; 517 return 0;
@@ -591,7 +591,7 @@ static ssize_t libertas_lowrssi_write(struct file *file,
591 return 0; 591 return 0;
592 } 592 }
593 593
594 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 594 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
595 lbs_pr_err("command response incorrect!\n"); 595 lbs_pr_err("command response incorrect!\n");
596 kfree(response_buf); 596 kfree(response_buf);
597 free_page(addr); 597 free_page(addr);
@@ -644,7 +644,7 @@ static ssize_t libertas_lowsnr_read(struct file *file, char __user *userbuf,
644 return 0; 644 return 0;
645 } 645 }
646 646
647 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 647 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
648 lbs_pr_err("command response incorrect!\n"); 648 lbs_pr_err("command response incorrect!\n");
649 kfree(response_buf); 649 kfree(response_buf);
650 free_page(addr); 650 free_page(addr);
@@ -743,7 +743,7 @@ static ssize_t libertas_lowsnr_write(struct file *file,
743 return 0; 743 return 0;
744 } 744 }
745 745
746 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 746 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
747 lbs_pr_err("command response incorrect!\n"); 747 lbs_pr_err("command response incorrect!\n");
748 kfree(response_buf); 748 kfree(response_buf);
749 free_page(addr); 749 free_page(addr);
@@ -797,7 +797,7 @@ static ssize_t libertas_failcount_read(struct file *file, char __user *userbuf,
797 return 0; 797 return 0;
798 } 798 }
799 799
800 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 800 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
801 lbs_pr_err("command response incorrect!\n"); 801 lbs_pr_err("command response incorrect!\n");
802 kfree(response_buf); 802 kfree(response_buf);
803 free_page(addr); 803 free_page(addr);
@@ -895,7 +895,7 @@ static ssize_t libertas_failcount_write(struct file *file,
895 return 0; 895 return 0;
896 } 896 }
897 897
898 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 898 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
899 lbs_pr_err("command response incorrect!\n"); 899 lbs_pr_err("command response incorrect!\n");
900 kfree(response_buf); 900 kfree(response_buf);
901 free_page(addr); 901 free_page(addr);
@@ -948,7 +948,7 @@ static ssize_t libertas_bcnmiss_read(struct file *file, char __user *userbuf,
948 return 0; 948 return 0;
949 } 949 }
950 950
951 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 951 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
952 lbs_pr_err("command response incorrect!\n"); 952 lbs_pr_err("command response incorrect!\n");
953 free_page(addr); 953 free_page(addr);
954 kfree(response_buf); 954 kfree(response_buf);
@@ -1045,7 +1045,7 @@ static ssize_t libertas_bcnmiss_write(struct file *file,
1045 return 0; 1045 return 0;
1046 } 1046 }
1047 1047
1048 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 1048 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
1049 lbs_pr_err("command response incorrect!\n"); 1049 lbs_pr_err("command response incorrect!\n");
1050 free_page(addr); 1050 free_page(addr);
1051 kfree(response_buf); 1051 kfree(response_buf);
@@ -1098,7 +1098,7 @@ static ssize_t libertas_highrssi_read(struct file *file, char __user *userbuf,
1098 return 0; 1098 return 0;
1099 } 1099 }
1100 1100
1101 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 1101 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
1102 lbs_pr_err("command response incorrect!\n"); 1102 lbs_pr_err("command response incorrect!\n");
1103 kfree(response_buf); 1103 kfree(response_buf);
1104 free_page(addr); 1104 free_page(addr);
@@ -1196,7 +1196,7 @@ static ssize_t libertas_highrssi_write(struct file *file,
1196 return 0; 1196 return 0;
1197 } 1197 }
1198 1198
1199 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 1199 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
1200 lbs_pr_err("command response incorrect!\n"); 1200 lbs_pr_err("command response incorrect!\n");
1201 kfree(response_buf); 1201 kfree(response_buf);
1202 return 0; 1202 return 0;
@@ -1248,7 +1248,7 @@ static ssize_t libertas_highsnr_read(struct file *file, char __user *userbuf,
1248 return 0; 1248 return 0;
1249 } 1249 }
1250 1250
1251 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 1251 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
1252 lbs_pr_err("command response incorrect!\n"); 1252 lbs_pr_err("command response incorrect!\n");
1253 kfree(response_buf); 1253 kfree(response_buf);
1254 free_page(addr); 1254 free_page(addr);
@@ -1347,7 +1347,7 @@ static ssize_t libertas_highsnr_write(struct file *file,
1347 return 0; 1347 return 0;
1348 } 1348 }
1349 1349
1350 if (pcmdptr->command != cpu_to_le16(CMD_RET_802_11_SUBSCRIBE_EVENT)) { 1350 if (pcmdptr->command != cpu_to_le16(CMD_RET(CMD_802_11_SUBSCRIBE_EVENT))) {
1351 lbs_pr_err("command response incorrect!\n"); 1351 lbs_pr_err("command response incorrect!\n");
1352 kfree(response_buf); 1352 kfree(response_buf);
1353 free_page(addr); 1353 free_page(addr);
diff --git a/drivers/net/wireless/libertas/host.h b/drivers/net/wireless/libertas/host.h
index 12d5dd9af40c..c6b44c831594 100644
--- a/drivers/net/wireless/libertas/host.h
+++ b/drivers/net/wireless/libertas/host.h
@@ -22,7 +22,17 @@
22 22
23#define CMD_OPTION_WAITFORRSP 0x0002 23#define CMD_OPTION_WAITFORRSP 0x0002
24 24
25/** Host command ID */ 25/** Host command IDs */
26
27/* Return command are almost always the same as the host command, but with
28 * bit 15 set high. There are a few exceptions, though...
29 */
30#define CMD_RET(cmd) (0x8000 | cmd)
31
32/* Return command convention exceptions: */
33#define CMD_RET_802_11_ASSOCIATE 0x8012
34
35/* Command codes */
26#define CMD_CODE_DNLD 0x0002 36#define CMD_CODE_DNLD 0x0002
27#define CMD_GET_HW_SPEC 0x0003 37#define CMD_GET_HW_SPEC 0x0003
28#define CMD_EEPROM_UPDATE 0x0004 38#define CMD_EEPROM_UPDATE 0x0004
@@ -97,13 +107,10 @@
97#define CMD_GET_TSF 0x0080 107#define CMD_GET_TSF 0x0080
98 108
99#define CMD_BT_ACCESS 0x0087 109#define CMD_BT_ACCESS 0x0087
100#define CMD_RET_BT_ACCESS 0x8087
101 110
102#define CMD_FWT_ACCESS 0x0095 111#define CMD_FWT_ACCESS 0x0095
103#define CMD_RET_FWT_ACCESS 0x8095
104 112
105#define CMD_MESH_ACCESS 0x009b 113#define CMD_MESH_ACCESS 0x009b
106#define CMD_RET_MESH_ACCESS 0x809b
107 114
108/* For the IEEE Power Save */ 115/* For the IEEE Power Save */
109#define CMD_SUBCMD_ENTER_PS 0x0030 116#define CMD_SUBCMD_ENTER_PS 0x0030
@@ -112,46 +119,6 @@
112#define CMD_SUBCMD_FULL_POWERDOWN 0x0035 119#define CMD_SUBCMD_FULL_POWERDOWN 0x0035
113#define CMD_SUBCMD_FULL_POWERUP 0x0036 120#define CMD_SUBCMD_FULL_POWERUP 0x0036
114 121
115/* command RET code, MSB is set to 1 */
116#define CMD_RET_HW_SPEC_INFO 0x8003
117#define CMD_RET_EEPROM_UPDATE 0x8004
118#define CMD_RET_802_11_RESET 0x8005
119#define CMD_RET_802_11_SCAN 0x8006
120#define CMD_RET_802_11_GET_LOG 0x800b
121#define CMD_RET_MAC_CONTROL 0x8028
122#define CMD_RET_MAC_MULTICAST_ADR 0x8010
123#define CMD_RET_802_11_AUTHENTICATE 0x8011
124#define CMD_RET_802_11_DEAUTHENTICATE 0x8024
125#define CMD_RET_802_11_ASSOCIATE 0x8012
126#define CMD_RET_802_11_REASSOCIATE 0x8025
127#define CMD_RET_802_11_DISASSOCIATE 0x8026
128#define CMD_RET_802_11_SET_WEP 0x8013
129#define CMD_RET_802_11_STAT 0x8014
130#define CMD_RET_802_3_STAT 0x8015
131#define CMD_RET_802_11_SNMP_MIB 0x8016
132#define CMD_RET_MAC_REG_MAP 0x8017
133#define CMD_RET_BBP_REG_MAP 0x8018
134#define CMD_RET_RF_REG_MAP 0x8023
135#define CMD_RET_MAC_REG_ACCESS 0x8019
136#define CMD_RET_BBP_REG_ACCESS 0x801a
137#define CMD_RET_RF_REG_ACCESS 0x801b
138#define CMD_RET_802_11_RADIO_CONTROL 0x801c
139#define CMD_RET_802_11_RF_CHANNEL 0x801d
140#define CMD_RET_802_11_RSSI 0x801f
141#define CMD_RET_802_11_RF_TX_POWER 0x801e
142#define CMD_RET_802_11_RF_ANTENNA 0x8020
143#define CMD_RET_802_11_PS_MODE 0x8021
144#define CMD_RET_802_11_DATA_RATE 0x8022
145
146#define CMD_RET_802_11_AD_HOC_START 0x802B
147#define CMD_RET_802_11_AD_HOC_JOIN 0x802C
148
149#define CMD_RET_802_11_QUERY_TKIP_REPLY_CNTRS 0x802e
150#define CMD_RET_802_11_ENABLE_RSN 0x802f
151#define CMD_RET_802_11_PAIRWISE_TSC 0x8036
152#define CMD_RET_802_11_GROUP_TSC 0x8037
153#define CMD_RET_802_11_KEY_MATERIAL 0x805e
154
155#define CMD_ENABLE_RSN 0x0001 122#define CMD_ENABLE_RSN 0x0001
156#define CMD_DISABLE_RSN 0x0000 123#define CMD_DISABLE_RSN 0x0000
157 124
@@ -162,38 +129,6 @@
162#define CMD_ACT_SET_AES (CMD_ACT_SET + 2) 129#define CMD_ACT_SET_AES (CMD_ACT_SET + 2)
163#define CMD_ACT_REMOVE_AES (CMD_ACT_SET + 3) 130#define CMD_ACT_REMOVE_AES (CMD_ACT_SET + 3)
164 131
165#define CMD_RET_802_11_SET_AFC 0x803c
166#define CMD_RET_802_11_GET_AFC 0x803d
167
168#define CMD_RET_802_11_AD_HOC_STOP 0x8040
169
170#define CMD_RET_802_11_BEACON_STOP 0x8049
171
172#define CMD_RET_802_11_MAC_ADDRESS 0x804D
173#define CMD_RET_802_11_EEPROM_ACCESS 0x8059
174
175#define CMD_RET_802_11_BAND_CONFIG 0x8058
176
177#define CMD_RET_802_11_SLEEP_PARAMS 0x8066
178
179#define CMD_RET_802_11_INACTIVITY_TIMEOUT 0x8067
180
181#define CMD_RET_802_11D_DOMAIN_INFO (0x8000 | \
182 CMD_802_11D_DOMAIN_INFO)
183
184#define CMD_RET_802_11_TPC_CFG (CMD_802_11_TPC_CFG | 0x8000)
185#define CMD_RET_802_11_PWR_CFG (CMD_802_11_PWR_CFG | 0x8000)
186
187#define CMD_RET_802_11_LED_GPIO_CTRL 0x804e
188
189#define CMD_RET_802_11_SUBSCRIBE_EVENT (CMD_802_11_SUBSCRIBE_EVENT | 0x8000)
190
191#define CMD_RET_802_11_RATE_ADAPT_RATESET (CMD_802_11_RATE_ADAPT_RATESET | 0x8000)
192
193#define CMD_RTE_802_11_TX_RATE_QUERY (CMD_802_11_TX_RATE_QUERY | 0x8000)
194
195#define CMD_RET_GET_TSF 0x8080
196
197/* Define action or option for CMD_802_11_SET_WEP */ 132/* Define action or option for CMD_802_11_SET_WEP */
198#define CMD_ACT_ADD 0x0002 133#define CMD_ACT_ADD 0x0002
199#define CMD_ACT_REMOVE 0x0004 134#define CMD_ACT_REMOVE 0x0004
diff --git a/drivers/net/wireless/libertas/join.c b/drivers/net/wireless/libertas/join.c
index 2b538ab51d40..08034917d4b5 100644
--- a/drivers/net/wireless/libertas/join.c
+++ b/drivers/net/wireless/libertas/join.c
@@ -814,7 +814,7 @@ int libertas_ret_80211_ad_hoc_start(wlan_private * priv,
814 /* Send a Media Connected event, according to the Spec */ 814 /* Send a Media Connected event, according to the Spec */
815 adapter->connect_status = LIBERTAS_CONNECTED; 815 adapter->connect_status = LIBERTAS_CONNECTED;
816 816
817 if (command == CMD_RET_802_11_AD_HOC_START) { 817 if (command == CMD_RET(CMD_802_11_AD_HOC_START)) {
818 /* Update the created network descriptor with the new BSSID */ 818 /* Update the created network descriptor with the new BSSID */
819 memcpy(bss->bssid, padhocresult->bssid, ETH_ALEN); 819 memcpy(bss->bssid, padhocresult->bssid, ETH_ALEN);
820 } 820 }