diff options
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 7d22dadfd890..6468bbeba687 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -1830,6 +1830,16 @@ static void b43_do_interrupt_thread(struct b43_wldev *dev) | |||
1830 | 1830 | ||
1831 | /* Re-enable interrupts on the device by restoring the current interrupt mask. */ | 1831 | /* Re-enable interrupts on the device by restoring the current interrupt mask. */ |
1832 | b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, dev->irq_mask); | 1832 | b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, dev->irq_mask); |
1833 | |||
1834 | #if B43_DEBUG | ||
1835 | if (b43_debug(dev, B43_DBG_VERBOSESTATS)) { | ||
1836 | dev->irq_count++; | ||
1837 | for (i = 0; i < ARRAY_SIZE(dev->irq_bit_count); i++) { | ||
1838 | if (reason & (1 << i)) | ||
1839 | dev->irq_bit_count[i]++; | ||
1840 | } | ||
1841 | } | ||
1842 | #endif | ||
1833 | } | 1843 | } |
1834 | 1844 | ||
1835 | /* Interrupt thread handler. Handles device interrupts in thread context. */ | 1845 | /* Interrupt thread handler. Handles device interrupts in thread context. */ |
@@ -2893,6 +2903,27 @@ static void b43_periodic_every15sec(struct b43_wldev *dev) | |||
2893 | 2903 | ||
2894 | atomic_set(&phy->txerr_cnt, B43_PHY_TX_BADNESS_LIMIT); | 2904 | atomic_set(&phy->txerr_cnt, B43_PHY_TX_BADNESS_LIMIT); |
2895 | wmb(); | 2905 | wmb(); |
2906 | |||
2907 | #if B43_DEBUG | ||
2908 | if (b43_debug(dev, B43_DBG_VERBOSESTATS)) { | ||
2909 | unsigned int i; | ||
2910 | |||
2911 | b43dbg(dev->wl, "Stats: %7u IRQs/sec, %7u TX/sec, %7u RX/sec\n", | ||
2912 | dev->irq_count / 15, | ||
2913 | dev->tx_count / 15, | ||
2914 | dev->rx_count / 15); | ||
2915 | dev->irq_count = 0; | ||
2916 | dev->tx_count = 0; | ||
2917 | dev->rx_count = 0; | ||
2918 | for (i = 0; i < ARRAY_SIZE(dev->irq_bit_count); i++) { | ||
2919 | if (dev->irq_bit_count[i]) { | ||
2920 | b43dbg(dev->wl, "Stats: %7u IRQ-%02u/sec (0x%08X)\n", | ||
2921 | dev->irq_bit_count[i] / 15, i, (1 << i)); | ||
2922 | dev->irq_bit_count[i] = 0; | ||
2923 | } | ||
2924 | } | ||
2925 | } | ||
2926 | #endif | ||
2896 | } | 2927 | } |
2897 | 2928 | ||
2898 | static void do_periodic_work(struct b43_wldev *dev) | 2929 | static void do_periodic_work(struct b43_wldev *dev) |
@@ -3092,6 +3123,9 @@ static void b43_tx_work(struct work_struct *work) | |||
3092 | dev_kfree_skb(skb); /* Drop it */ | 3123 | dev_kfree_skb(skb); /* Drop it */ |
3093 | } | 3124 | } |
3094 | 3125 | ||
3126 | #if B43_DEBUG | ||
3127 | dev->tx_count++; | ||
3128 | #endif | ||
3095 | mutex_unlock(&wl->mutex); | 3129 | mutex_unlock(&wl->mutex); |
3096 | } | 3130 | } |
3097 | 3131 | ||