diff options
Diffstat (limited to 'drivers/parisc/led.c')
| -rw-r--r-- | drivers/parisc/led.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/parisc/led.c b/drivers/parisc/led.c index e90fb72a6962..286902298e33 100644 --- a/drivers/parisc/led.c +++ b/drivers/parisc/led.c | |||
| @@ -37,6 +37,7 @@ | |||
| 37 | #include <linux/proc_fs.h> | 37 | #include <linux/proc_fs.h> |
| 38 | #include <linux/ctype.h> | 38 | #include <linux/ctype.h> |
| 39 | #include <linux/blkdev.h> | 39 | #include <linux/blkdev.h> |
| 40 | #include <linux/rcupdate.h> | ||
| 40 | #include <asm/io.h> | 41 | #include <asm/io.h> |
| 41 | #include <asm/processor.h> | 42 | #include <asm/processor.h> |
| 42 | #include <asm/hardware.h> | 43 | #include <asm/hardware.h> |
| @@ -358,9 +359,10 @@ static __inline__ int led_get_net_activity(void) | |||
| 358 | /* we are running as tasklet, so locking dev_base | 359 | /* we are running as tasklet, so locking dev_base |
| 359 | * for reading should be OK */ | 360 | * for reading should be OK */ |
| 360 | read_lock(&dev_base_lock); | 361 | read_lock(&dev_base_lock); |
| 362 | rcu_read_lock(); | ||
| 361 | for (dev = dev_base; dev; dev = dev->next) { | 363 | for (dev = dev_base; dev; dev = dev->next) { |
| 362 | struct net_device_stats *stats; | 364 | struct net_device_stats *stats; |
| 363 | struct in_device *in_dev = __in_dev_get(dev); | 365 | struct in_device *in_dev = __in_dev_get_rcu(dev); |
| 364 | if (!in_dev || !in_dev->ifa_list) | 366 | if (!in_dev || !in_dev->ifa_list) |
| 365 | continue; | 367 | continue; |
| 366 | if (LOOPBACK(in_dev->ifa_list->ifa_local)) | 368 | if (LOOPBACK(in_dev->ifa_list->ifa_local)) |
| @@ -371,6 +373,7 @@ static __inline__ int led_get_net_activity(void) | |||
| 371 | rx_total += stats->rx_packets; | 373 | rx_total += stats->rx_packets; |
| 372 | tx_total += stats->tx_packets; | 374 | tx_total += stats->tx_packets; |
| 373 | } | 375 | } |
| 376 | rcu_read_unlock(); | ||
| 374 | read_unlock(&dev_base_lock); | 377 | read_unlock(&dev_base_lock); |
| 375 | 378 | ||
| 376 | retval = 0; | 379 | retval = 0; |
