diff options
author | Wim Van Sebroeck <wim@iguana.be> | 2007-01-07 15:57:03 -0500 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2007-01-07 15:57:03 -0500 |
commit | 045798b56f59d02beef84d5aa7137786c50912c2 (patch) | |
tree | 2f8d96ad0870a5d8f2b54028e2eb686b60d5e8d7 /drivers/char/watchdog | |
parent | 39e3a0556a1e2d33f9491d43bae9fdaa09b0308a (diff) |
[WATCHDOG] pcwd_pci.c - spinlock fixes
the keepalive and get_temperature functions should
use spinlocks also.
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/char/watchdog')
-rw-r--r-- | drivers/char/watchdog/pcwd_pci.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/char/watchdog/pcwd_pci.c b/drivers/char/watchdog/pcwd_pci.c index 059ac9f12de7..95ddcd8c1db2 100644 --- a/drivers/char/watchdog/pcwd_pci.c +++ b/drivers/char/watchdog/pcwd_pci.c | |||
@@ -298,7 +298,9 @@ static int pcipcwd_stop(void) | |||
298 | static int pcipcwd_keepalive(void) | 298 | static int pcipcwd_keepalive(void) |
299 | { | 299 | { |
300 | /* Re-trigger watchdog by writing to port 0 */ | 300 | /* Re-trigger watchdog by writing to port 0 */ |
301 | spin_lock(&pcipcwd_private.io_lock); | ||
301 | outb_p(0x42, pcipcwd_private.io_addr); /* send out any data */ | 302 | outb_p(0x42, pcipcwd_private.io_addr); /* send out any data */ |
303 | spin_unlock(&pcipcwd_private.io_lock); | ||
302 | 304 | ||
303 | if (debug >= DEBUG) | 305 | if (debug >= DEBUG) |
304 | printk(KERN_DEBUG PFX "Watchdog keepalive signal send\n"); | 306 | printk(KERN_DEBUG PFX "Watchdog keepalive signal send\n"); |
@@ -385,7 +387,9 @@ static int pcipcwd_get_temperature(int *temperature) | |||
385 | if (!pcipcwd_private.supports_temp) | 387 | if (!pcipcwd_private.supports_temp) |
386 | return -ENODEV; | 388 | return -ENODEV; |
387 | 389 | ||
390 | spin_lock(&pcipcwd_private.io_lock); | ||
388 | *temperature = inb_p(pcipcwd_private.io_addr); | 391 | *temperature = inb_p(pcipcwd_private.io_addr); |
392 | spin_unlock(&pcipcwd_private.io_lock); | ||
389 | 393 | ||
390 | /* | 394 | /* |
391 | * Convert celsius to fahrenheit, since this was | 395 | * Convert celsius to fahrenheit, since this was |
@@ -814,6 +818,8 @@ static int __init pcipcwd_init_module(void) | |||
814 | static void __exit pcipcwd_cleanup_module(void) | 818 | static void __exit pcipcwd_cleanup_module(void) |
815 | { | 819 | { |
816 | pci_unregister_driver(&pcipcwd_driver); | 820 | pci_unregister_driver(&pcipcwd_driver); |
821 | |||
822 | printk(KERN_INFO PFX "Watchdog Module Unloaded.\n"); | ||
817 | } | 823 | } |
818 | 824 | ||
819 | module_init(pcipcwd_init_module); | 825 | module_init(pcipcwd_init_module); |