Dan Carpenter wrote:
> I'm afraid I don't understand. ENDPOINT_MAX is 22 and HST_ENDPOINT_MAX
> is 8. The htc_target struct is defined as having 8 endpoints.
>
> drivers/net/wireless/ath/ath9k/htc_hst.h
> 137 struct htc_target {
> 138 void *hif_dev;
> 139 struct ath9k_htc_priv *drv_priv;
> 140 struct device *dev;
> 141 struct ath9k_htc_hif *hif;
> 142 struct htc_endpoint endpoint[HST_ENDPOINT_MAX];
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> So in the original code:
> drivers/net/wireless/ath/ath9k/htc_hst.c
> 119 for (tepid = ENDPOINT_MAX; tepid > ENDPOINT0;
> tepid--) {
> 120 tmp_endpoint = &target->endpoint[tepid];
> ^^^^^^^^^^^^^^^^^^^^^^^^^
>
> We are past the end of the array here. 22 vs 7.
>
> Perhaps the htc_target struct should be changed to ENDPOINT_MAX?
Ah right. That should be fixed.
Sujith
_______________________________________________
ath9k-devel mailing list
[email protected]
https://lists.ath9k.org/mailman/listinfo/ath9k-devel