]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/powerpc/platforms/iseries/pci.c
powerpc/iseries/pci: Use __ratelimit
[net-next-2.6.git] / arch / powerpc / platforms / iseries / pci.c
index b841c9a9db87133ffa16aafef4ea5b1ab6805d98..3fc2e6494b8b277cf01eb0d03c76e69bc1f11664 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/of.h>
+#include <linux/ratelimit.h>
 
 #include <asm/types.h>
 #include <asm/io.h>
@@ -584,14 +585,9 @@ static inline struct device_node *xlate_iomm_address(
 
        orig_addr = (unsigned long __force)addr;
        if ((orig_addr < BASE_IO_MEMORY) || (orig_addr >= max_io_memory)) {
-               static unsigned long last_jiffies;
-               static int num_printed;
+               static DEFINE_RATELIMIT_STATE(ratelimit, 60 * HZ, 10);
 
-               if (time_after(jiffies, last_jiffies + 60 * HZ)) {
-                       last_jiffies = jiffies;
-                       num_printed = 0;
-               }
-               if (num_printed++ < 10)
+               if (__ratelimit(&ratelimit))
                        printk(KERN_ERR
                                "iSeries_%s: invalid access at IO address %p\n",
                                func, addr);