ath6kl: add tx_comp_multi() to struct htc_ep_callbacks
[cascardo/linux.git] / drivers / net / wireless / ath / ath6kl / init.c
index 231675d..d33691e 100644 (file)
@@ -256,6 +256,7 @@ static int ath6kl_init_service_ep(struct ath6kl *ar)
        memset(&connect, 0, sizeof(connect));
 
        /* these fields are the same for all service endpoints */
+       connect.ep_cb.tx_comp_multi = ath6kl_tx_complete;
        connect.ep_cb.rx = ath6kl_rx;
        connect.ep_cb.rx_refill = ath6kl_rx_refill;
        connect.ep_cb.tx_full = ath6kl_tx_queue_full;
@@ -539,18 +540,20 @@ int ath6kl_configure_target(struct ath6kl *ar)
         * but possible in theory.
         */
 
-       param = ar->hw.board_ext_data_addr;
-       ram_reserved_size = ar->hw.reserved_ram_size;
+       if (ar->target_type == TARGET_TYPE_AR6003) {
+               param = ar->hw.board_ext_data_addr;
+               ram_reserved_size = ar->hw.reserved_ram_size;
 
-       if (ath6kl_bmi_write_hi32(ar, hi_board_ext_data, param) != 0) {
-               ath6kl_err("bmi_write_memory for hi_board_ext_data failed\n");
-               return -EIO;
-       }
+               if (ath6kl_bmi_write_hi32(ar, hi_board_ext_data, param) != 0) {
+                       ath6kl_err("bmi_write_memory for hi_board_ext_data failed\n");
+                       return -EIO;
+               }
 
-       if (ath6kl_bmi_write_hi32(ar, hi_end_ram_reserve_sz,
-                                 ram_reserved_size) != 0) {
-               ath6kl_err("bmi_write_memory for hi_end_ram_reserve_sz failed\n");
-               return -EIO;
+               if (ath6kl_bmi_write_hi32(ar, hi_end_ram_reserve_sz,
+                                         ram_reserved_size) != 0) {
+                       ath6kl_err("bmi_write_memory for hi_end_ram_reserve_sz failed\n");
+                       return -EIO;
+               }
        }
 
        /* set the block size for the target */
@@ -1078,8 +1081,9 @@ static int ath6kl_upload_board_file(struct ath6kl *ar)
         * writing board data.
         */
        if (ar->hw.board_addr != 0) {
+               board_address = ar->hw.board_addr;
                ath6kl_bmi_write_hi32(ar, hi_board_data,
-                                     ar->hw.board_addr);
+                                     board_address);
        } else {
                ath6kl_bmi_read_hi32(ar, hi_board_data, &board_address);
        }