diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2009-03-20 15:36:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-22 01:55:31 -0400 |
commit | ce55cbaf3a4498719bdb5a022a45d256b84749f5 (patch) | |
tree | 601a6ee55bb364a4e8769291e689f00659f003cb /drivers/net/wireless/ipw2x00/ipw2100.c | |
parent | f02abf1010dfb9fa7f56788fb28bc63b0ea34968 (diff) |
ipw2x00: convert to internal net_device_stats
Replace struct in ieee with current net_device_stats, so no longer
need get_stats hook
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/ipw2x00/ipw2100.c')
-rw-r--r-- | drivers/net/wireless/ipw2x00/ipw2100.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c index 3a6d810a7608..425ba8b0b0f1 100644 --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c | |||
@@ -2391,13 +2391,14 @@ static void ipw2100_corruption_detected(struct ipw2100_priv *priv, int i) | |||
2391 | #endif | 2391 | #endif |
2392 | 2392 | ||
2393 | priv->fatal_error = IPW2100_ERR_C3_CORRUPTION; | 2393 | priv->fatal_error = IPW2100_ERR_C3_CORRUPTION; |
2394 | priv->ieee->stats.rx_errors++; | 2394 | priv->net_dev->stats.rx_errors++; |
2395 | schedule_reset(priv); | 2395 | schedule_reset(priv); |
2396 | } | 2396 | } |
2397 | 2397 | ||
2398 | static void isr_rx(struct ipw2100_priv *priv, int i, | 2398 | static void isr_rx(struct ipw2100_priv *priv, int i, |
2399 | struct ieee80211_rx_stats *stats) | 2399 | struct ieee80211_rx_stats *stats) |
2400 | { | 2400 | { |
2401 | struct net_device *dev = priv->net_dev; | ||
2401 | struct ipw2100_status *status = &priv->status_queue.drv[i]; | 2402 | struct ipw2100_status *status = &priv->status_queue.drv[i]; |
2402 | struct ipw2100_rx_packet *packet = &priv->rx_buffers[i]; | 2403 | struct ipw2100_rx_packet *packet = &priv->rx_buffers[i]; |
2403 | 2404 | ||
@@ -2406,14 +2407,14 @@ static void isr_rx(struct ipw2100_priv *priv, int i, | |||
2406 | if (unlikely(status->frame_size > skb_tailroom(packet->skb))) { | 2407 | if (unlikely(status->frame_size > skb_tailroom(packet->skb))) { |
2407 | IPW_DEBUG_INFO("%s: frame_size (%u) > skb_tailroom (%u)!" | 2408 | IPW_DEBUG_INFO("%s: frame_size (%u) > skb_tailroom (%u)!" |
2408 | " Dropping.\n", | 2409 | " Dropping.\n", |
2409 | priv->net_dev->name, | 2410 | dev->name, |
2410 | status->frame_size, skb_tailroom(packet->skb)); | 2411 | status->frame_size, skb_tailroom(packet->skb)); |
2411 | priv->ieee->stats.rx_errors++; | 2412 | dev->stats.rx_errors++; |
2412 | return; | 2413 | return; |
2413 | } | 2414 | } |
2414 | 2415 | ||
2415 | if (unlikely(!netif_running(priv->net_dev))) { | 2416 | if (unlikely(!netif_running(dev))) { |
2416 | priv->ieee->stats.rx_errors++; | 2417 | dev->stats.rx_errors++; |
2417 | priv->wstats.discard.misc++; | 2418 | priv->wstats.discard.misc++; |
2418 | IPW_DEBUG_DROP("Dropping packet while interface is not up.\n"); | 2419 | IPW_DEBUG_DROP("Dropping packet while interface is not up.\n"); |
2419 | return; | 2420 | return; |
@@ -2443,10 +2444,10 @@ static void isr_rx(struct ipw2100_priv *priv, int i, | |||
2443 | if (!ieee80211_rx(priv->ieee, packet->skb, stats)) { | 2444 | if (!ieee80211_rx(priv->ieee, packet->skb, stats)) { |
2444 | #ifdef IPW2100_RX_DEBUG | 2445 | #ifdef IPW2100_RX_DEBUG |
2445 | IPW_DEBUG_DROP("%s: Non consumed packet:\n", | 2446 | IPW_DEBUG_DROP("%s: Non consumed packet:\n", |
2446 | priv->net_dev->name); | 2447 | dev->name); |
2447 | printk_buf(IPW_DL_DROP, packet_data, status->frame_size); | 2448 | printk_buf(IPW_DL_DROP, packet_data, status->frame_size); |
2448 | #endif | 2449 | #endif |
2449 | priv->ieee->stats.rx_errors++; | 2450 | dev->stats.rx_errors++; |
2450 | 2451 | ||
2451 | /* ieee80211_rx failed, so it didn't free the SKB */ | 2452 | /* ieee80211_rx failed, so it didn't free the SKB */ |
2452 | dev_kfree_skb_any(packet->skb); | 2453 | dev_kfree_skb_any(packet->skb); |
@@ -2457,7 +2458,7 @@ static void isr_rx(struct ipw2100_priv *priv, int i, | |||
2457 | if (unlikely(ipw2100_alloc_skb(priv, packet))) { | 2458 | if (unlikely(ipw2100_alloc_skb(priv, packet))) { |
2458 | printk(KERN_WARNING DRV_NAME ": " | 2459 | printk(KERN_WARNING DRV_NAME ": " |
2459 | "%s: Unable to allocate SKB onto RBD ring - disabling " | 2460 | "%s: Unable to allocate SKB onto RBD ring - disabling " |
2460 | "adapter.\n", priv->net_dev->name); | 2461 | "adapter.\n", dev->name); |
2461 | /* TODO: schedule adapter shutdown */ | 2462 | /* TODO: schedule adapter shutdown */ |
2462 | IPW_DEBUG_INFO("TODO: Shutdown adapter...\n"); | 2463 | IPW_DEBUG_INFO("TODO: Shutdown adapter...\n"); |
2463 | } | 2464 | } |
@@ -2471,6 +2472,7 @@ static void isr_rx(struct ipw2100_priv *priv, int i, | |||
2471 | static void isr_rx_monitor(struct ipw2100_priv *priv, int i, | 2472 | static void isr_rx_monitor(struct ipw2100_priv *priv, int i, |
2472 | struct ieee80211_rx_stats *stats) | 2473 | struct ieee80211_rx_stats *stats) |
2473 | { | 2474 | { |
2475 | struct net_device *dev = priv->net_dev; | ||
2474 | struct ipw2100_status *status = &priv->status_queue.drv[i]; | 2476 | struct ipw2100_status *status = &priv->status_queue.drv[i]; |
2475 | struct ipw2100_rx_packet *packet = &priv->rx_buffers[i]; | 2477 | struct ipw2100_rx_packet *packet = &priv->rx_buffers[i]; |
2476 | 2478 | ||
@@ -2488,15 +2490,15 @@ static void isr_rx_monitor(struct ipw2100_priv *priv, int i, | |||
2488 | sizeof(struct ipw_rt_hdr))) { | 2490 | sizeof(struct ipw_rt_hdr))) { |
2489 | IPW_DEBUG_INFO("%s: frame_size (%u) > skb_tailroom (%u)!" | 2491 | IPW_DEBUG_INFO("%s: frame_size (%u) > skb_tailroom (%u)!" |
2490 | " Dropping.\n", | 2492 | " Dropping.\n", |
2491 | priv->net_dev->name, | 2493 | dev->name, |
2492 | status->frame_size, | 2494 | status->frame_size, |
2493 | skb_tailroom(packet->skb)); | 2495 | skb_tailroom(packet->skb)); |
2494 | priv->ieee->stats.rx_errors++; | 2496 | dev->stats.rx_errors++; |
2495 | return; | 2497 | return; |
2496 | } | 2498 | } |
2497 | 2499 | ||
2498 | if (unlikely(!netif_running(priv->net_dev))) { | 2500 | if (unlikely(!netif_running(dev))) { |
2499 | priv->ieee->stats.rx_errors++; | 2501 | dev->stats.rx_errors++; |
2500 | priv->wstats.discard.misc++; | 2502 | priv->wstats.discard.misc++; |
2501 | IPW_DEBUG_DROP("Dropping packet while interface is not up.\n"); | 2503 | IPW_DEBUG_DROP("Dropping packet while interface is not up.\n"); |
2502 | return; | 2504 | return; |
@@ -2505,7 +2507,7 @@ static void isr_rx_monitor(struct ipw2100_priv *priv, int i, | |||
2505 | if (unlikely(priv->config & CFG_CRC_CHECK && | 2507 | if (unlikely(priv->config & CFG_CRC_CHECK && |
2506 | status->flags & IPW_STATUS_FLAG_CRC_ERROR)) { | 2508 | status->flags & IPW_STATUS_FLAG_CRC_ERROR)) { |
2507 | IPW_DEBUG_RX("CRC error in packet. Dropping.\n"); | 2509 | IPW_DEBUG_RX("CRC error in packet. Dropping.\n"); |
2508 | priv->ieee->stats.rx_errors++; | 2510 | dev->stats.rx_errors++; |
2509 | return; | 2511 | return; |
2510 | } | 2512 | } |
2511 | 2513 | ||
@@ -2527,7 +2529,7 @@ static void isr_rx_monitor(struct ipw2100_priv *priv, int i, | |||
2527 | skb_put(packet->skb, status->frame_size + sizeof(struct ipw_rt_hdr)); | 2529 | skb_put(packet->skb, status->frame_size + sizeof(struct ipw_rt_hdr)); |
2528 | 2530 | ||
2529 | if (!ieee80211_rx(priv->ieee, packet->skb, stats)) { | 2531 | if (!ieee80211_rx(priv->ieee, packet->skb, stats)) { |
2530 | priv->ieee->stats.rx_errors++; | 2532 | dev->stats.rx_errors++; |
2531 | 2533 | ||
2532 | /* ieee80211_rx failed, so it didn't free the SKB */ | 2534 | /* ieee80211_rx failed, so it didn't free the SKB */ |
2533 | dev_kfree_skb_any(packet->skb); | 2535 | dev_kfree_skb_any(packet->skb); |
@@ -2538,7 +2540,7 @@ static void isr_rx_monitor(struct ipw2100_priv *priv, int i, | |||
2538 | if (unlikely(ipw2100_alloc_skb(priv, packet))) { | 2540 | if (unlikely(ipw2100_alloc_skb(priv, packet))) { |
2539 | IPW_DEBUG_WARNING( | 2541 | IPW_DEBUG_WARNING( |
2540 | "%s: Unable to allocate SKB onto RBD ring - disabling " | 2542 | "%s: Unable to allocate SKB onto RBD ring - disabling " |
2541 | "adapter.\n", priv->net_dev->name); | 2543 | "adapter.\n", dev->name); |
2542 | /* TODO: schedule adapter shutdown */ | 2544 | /* TODO: schedule adapter shutdown */ |
2543 | IPW_DEBUG_INFO("TODO: Shutdown adapter...\n"); | 2545 | IPW_DEBUG_INFO("TODO: Shutdown adapter...\n"); |
2544 | } | 2546 | } |
@@ -3340,7 +3342,7 @@ static int ipw2100_tx(struct ieee80211_txb *txb, struct net_device *dev, | |||
3340 | 3342 | ||
3341 | if (!(priv->status & STATUS_ASSOCIATED)) { | 3343 | if (!(priv->status & STATUS_ASSOCIATED)) { |
3342 | IPW_DEBUG_INFO("Can not transmit when not connected.\n"); | 3344 | IPW_DEBUG_INFO("Can not transmit when not connected.\n"); |
3343 | priv->ieee->stats.tx_carrier_errors++; | 3345 | priv->net_dev->stats.tx_carrier_errors++; |
3344 | netif_stop_queue(dev); | 3346 | netif_stop_queue(dev); |
3345 | goto fail_unlock; | 3347 | goto fail_unlock; |
3346 | } | 3348 | } |
@@ -5836,7 +5838,7 @@ static void ipw2100_tx_timeout(struct net_device *dev) | |||
5836 | { | 5838 | { |
5837 | struct ipw2100_priv *priv = ieee80211_priv(dev); | 5839 | struct ipw2100_priv *priv = ieee80211_priv(dev); |
5838 | 5840 | ||
5839 | priv->ieee->stats.tx_errors++; | 5841 | dev->stats.tx_errors++; |
5840 | 5842 | ||
5841 | #ifdef CONFIG_IPW2100_MONITOR | 5843 | #ifdef CONFIG_IPW2100_MONITOR |
5842 | if (priv->ieee->iw_mode == IW_MODE_MONITOR) | 5844 | if (priv->ieee->iw_mode == IW_MODE_MONITOR) |