aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2x00/ipw2100.c
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-03-20 15:36:38 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-22 01:55:31 -0400
commitce55cbaf3a4498719bdb5a022a45d256b84749f5 (patch)
tree601a6ee55bb364a4e8769291e689f00659f003cb /drivers/net/wireless/ipw2x00/ipw2100.c
parentf02abf1010dfb9fa7f56788fb28bc63b0ea34968 (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.c36
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
2398static void isr_rx(struct ipw2100_priv *priv, int i, 2398static 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,
2471static void isr_rx_monitor(struct ipw2100_priv *priv, int i, 2472static 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)