Search Linux Wireless

Re: [PATCH] ath10k: fix htt t2h message conflicts among firmware revisions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> writes:

> Target to host HTT messages are conflicting between 10.x and other
> firmware revisions. By maintaining separate HTT T2H tables for each
> firmware revisions (main, 10x and tlv) similar to WMI abstraction,
> solves the conflicts.
>
> Cc: Michal Kazior <michal.kazior@xxxxxxxxx>
> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>

So this is needed to get managements frames over HTT working, right?
It's good to mention that in the commit log, does this look ok:

Author: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
Date:   Wed Mar 11 15:03:02 2015 +0530

    ath10k: fix htt t2h message conflicts among firmware revisions
    
    Target to host HTT messages are conflicting between 10.x and other
    firmware revisions. By maintaining separate HTT T2H tables for each
    firmware revisions (main, 10x and tlv) similar to WMI abstraction,
    solves the conflicts.
    
    This fix is needed to get management frames over HTT (ie.
    ATH10K_FW_FEATURE_HAS_WMI_MGMT_TX disabled) working with 10.2.4.48-2 firmware.
    Otherwise there will be unknown htt events and nothing works:
    
    [30087.438343] ath10k_pci 0000:02:00.0: htt event (19) not handled
    [30087.448691] ath10k_pci 0000:02:00.0: htt event (19) not handled
    [30149.032974] ath10k_pci 0000:02:00.0: htt event (19) not handled
    
    Cc: Michal Kazior <michal.kazior@xxxxxxxxx>
    Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx>

> @@ -66,6 +146,26 @@ int ath10k_htt_init(struct ath10k *ar)
>  		8 + /* llc snap */
>  		2; /* ip4 dscp or ip6 priority */
>  
> +	switch (ar->wmi.op_version) {
> +	case ATH10K_FW_WMI_OP_VERSION_MAIN:
> +		ar->htt.t2h_msg_types = htt_main_t2h_msg_types;
> +		ar->htt.t2h_msg_types_max = HTT_MAIN_T2H_NUM_MSGS;
> +		break;
> +	case ATH10K_FW_WMI_OP_VERSION_10_1:
> +	case ATH10K_FW_WMI_OP_VERSION_10_2:
> +	case ATH10K_FW_WMI_OP_VERSION_10_2_4:
> +		ar->htt.t2h_msg_types = htt_10x_t2h_msg_types;
> +		ar->htt.t2h_msg_types_max = HTT_10X_T2H_NUM_MSGS;
> +		break;
> +	case ATH10K_FW_WMI_OP_VERSION_TLV:
> +		ar->htt.t2h_msg_types = htt_tlv_t2h_msg_types;
> +		ar->htt.t2h_msg_types_max = HTT_TLV_T2H_NUM_MSGS;
> +		break;
> +	case ATH10K_FW_WMI_OP_VERSION_UNSET:
> +	case ATH10K_FW_WMI_OP_VERSION_MAX:
> +		WARN_ON(1);
> +		return -EINVAL;
> +	}
>  	return 0;

When I was adding WMI_OP_VERSION, my idea was that we will add similar
version for HTT as well once we need it. But I guess this is good enough
for now, we can add HTT_OP_VERSION later if more changes are needed.

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux