diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/agp/backend.c | 3 | ||||
-rw-r--r-- | drivers/char/raw.c | 3 | ||||
-rw-r--r-- | drivers/char/rtc.c | 7 |
3 files changed, 5 insertions, 8 deletions
diff --git a/drivers/char/agp/backend.c b/drivers/char/agp/backend.c index f27d0d0816d3..4b71647782d0 100644 --- a/drivers/char/agp/backend.c +++ b/drivers/char/agp/backend.c | |||
@@ -171,7 +171,7 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge) | |||
171 | } | 171 | } |
172 | got_gatt = 1; | 172 | got_gatt = 1; |
173 | 173 | ||
174 | bridge->key_list = vmalloc(PAGE_SIZE * 4); | 174 | bridge->key_list = vzalloc(PAGE_SIZE * 4); |
175 | if (bridge->key_list == NULL) { | 175 | if (bridge->key_list == NULL) { |
176 | dev_err(&bridge->dev->dev, | 176 | dev_err(&bridge->dev->dev, |
177 | "can't allocate memory for key lists\n"); | 177 | "can't allocate memory for key lists\n"); |
@@ -181,7 +181,6 @@ static int agp_backend_initialize(struct agp_bridge_data *bridge) | |||
181 | got_keylist = 1; | 181 | got_keylist = 1; |
182 | 182 | ||
183 | /* FIXME vmalloc'd memory not guaranteed contiguous */ | 183 | /* FIXME vmalloc'd memory not guaranteed contiguous */ |
184 | memset(bridge->key_list, 0, PAGE_SIZE * 4); | ||
185 | 184 | ||
186 | if (bridge->driver->configure()) { | 185 | if (bridge->driver->configure()) { |
187 | dev_err(&bridge->dev->dev, "error configuring host chipset\n"); | 186 | dev_err(&bridge->dev->dev, "error configuring host chipset\n"); |
diff --git a/drivers/char/raw.c b/drivers/char/raw.c index b33e8ea314ed..b6de2c047145 100644 --- a/drivers/char/raw.c +++ b/drivers/char/raw.c | |||
@@ -324,13 +324,12 @@ static int __init raw_init(void) | |||
324 | max_raw_minors = MAX_RAW_MINORS; | 324 | max_raw_minors = MAX_RAW_MINORS; |
325 | } | 325 | } |
326 | 326 | ||
327 | raw_devices = vmalloc(sizeof(struct raw_device_data) * max_raw_minors); | 327 | raw_devices = vzalloc(sizeof(struct raw_device_data) * max_raw_minors); |
328 | if (!raw_devices) { | 328 | if (!raw_devices) { |
329 | printk(KERN_ERR "Not enough memory for raw device structures\n"); | 329 | printk(KERN_ERR "Not enough memory for raw device structures\n"); |
330 | ret = -ENOMEM; | 330 | ret = -ENOMEM; |
331 | goto error; | 331 | goto error; |
332 | } | 332 | } |
333 | memset(raw_devices, 0, sizeof(struct raw_device_data) * max_raw_minors); | ||
334 | 333 | ||
335 | ret = register_chrdev_region(dev, max_raw_minors, "raw"); | 334 | ret = register_chrdev_region(dev, max_raw_minors, "raw"); |
336 | if (ret) | 335 | if (ret) |
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index dfa8b3062fda..ccd124ab7ca7 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c | |||
@@ -80,6 +80,7 @@ | |||
80 | #include <linux/bcd.h> | 80 | #include <linux/bcd.h> |
81 | #include <linux/delay.h> | 81 | #include <linux/delay.h> |
82 | #include <linux/uaccess.h> | 82 | #include <linux/uaccess.h> |
83 | #include <linux/ratelimit.h> | ||
83 | 84 | ||
84 | #include <asm/current.h> | 85 | #include <asm/current.h> |
85 | #include <asm/system.h> | 86 | #include <asm/system.h> |
@@ -1195,10 +1196,8 @@ static void rtc_dropped_irq(unsigned long data) | |||
1195 | 1196 | ||
1196 | spin_unlock_irq(&rtc_lock); | 1197 | spin_unlock_irq(&rtc_lock); |
1197 | 1198 | ||
1198 | if (printk_ratelimit()) { | 1199 | printk_ratelimited(KERN_WARNING "rtc: lost some interrupts at %ldHz.\n", |
1199 | printk(KERN_WARNING "rtc: lost some interrupts at %ldHz.\n", | 1200 | freq); |
1200 | freq); | ||
1201 | } | ||
1202 | 1201 | ||
1203 | /* Now we have new data */ | 1202 | /* Now we have new data */ |
1204 | wake_up_interruptible(&rtc_wait); | 1203 | wake_up_interruptible(&rtc_wait); |