diff --git a/Makefile b/Makefile index 5d59ceb8..ed98a853 100644 --- a/Makefile +++ b/Makefile @@ -522,6 +522,10 @@ endif # $(dot-config) # Defaults vmlinux but it is usually overridden in the arch makefile all: vmlinux +#ifdef CONFIG_MACH_HTCLEO +KBUILD_CFLAGS += -mcpu=cortex-a8 -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3 +#endif + ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os else diff --git a/drivers/net/wireless/bcm4329/linux_osl.c b/drivers/net/wireless/bcm4329/linux_osl.c index 6383e004..bb4d817a 100644 --- a/drivers/net/wireless/bcm4329/linux_osl.c +++ b/drivers/net/wireless/bcm4329/linux_osl.c @@ -360,7 +360,8 @@ osl_pktfree_static(osl_t *osh, void *p, bool send) for (i = 0; i < MAX_STATIC_PKT_NUM*2; i++) { - if (p == bcm_static_skb->skb_4k[i]) + if ( (i < MAX_STATIC_PKT_NUM && p == bcm_static_skb->skb_4k[i]) || + (i >= MAX_STATIC_PKT_NUM && p == bcm_static_skb->skb_8k[i-MAX_STATIC_PKT_NUM]) ) { down(&bcm_static_skb->osl_pkt_sem); bcm_static_skb->pkt_use[i] = 0; diff --git a/drivers/net/wireless/bcm4329_204/linux_osl.c b/drivers/net/wireless/bcm4329_204/linux_osl.c index 5eb5c51b..b1e0b5e4 100644 --- a/drivers/net/wireless/bcm4329_204/linux_osl.c +++ b/drivers/net/wireless/bcm4329_204/linux_osl.c @@ -360,7 +360,8 @@ osl_pktfree_static(osl_t *osh, void *p, bool send) for (i = 0; i < MAX_STATIC_PKT_NUM; i++) { - if (p == bcm_static_skb->skb_4k[i]) + if ( (i < MAX_STATIC_PKT_NUM && p == bcm_static_skb->skb_4k[i]) || + (i >= MAX_STATIC_PKT_NUM && p == bcm_static_skb->skb_8k[i-MAX_STATIC_PKT_NUM]) ) { down(&bcm_static_skb->osl_pkt_sem); bcm_static_skb->pkt_use[i] = 0; diff --git a/drivers/net/wireless/bcm4329_245/linux_osl.c b/drivers/net/wireless/bcm4329_245/linux_osl.c index 242af39e..1cd70861 100644 --- a/drivers/net/wireless/bcm4329_245/linux_osl.c +++ b/drivers/net/wireless/bcm4329_245/linux_osl.c @@ -360,7 +360,8 @@ osl_pktfree_static(osl_t *osh, void *p, bool send) for (i = 0; i < MAX_STATIC_PKT_NUM*2; i++) { - if (p == bcm_static_skb->skb_4k[i]) + if ( (i < MAX_STATIC_PKT_NUM && p == bcm_static_skb->skb_4k[i]) || + (i >= MAX_STATIC_PKT_NUM && p == bcm_static_skb->skb_8k[i-MAX_STATIC_PKT_NUM]) ) { down(&bcm_static_skb->osl_pkt_sem); bcm_static_skb->pkt_use[i] = 0;