[PATCH] hpet: fix division by zero in HPET_INFO
authorClemens Ladisch <clemens@ladisch.de>
Sun, 30 Oct 2005 23:03:38 +0000 (15:03 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 31 Oct 2005 01:37:30 +0000 (17:37 -0800)
Fix a division by zero that happened when the HPET_INFO ioctl was called
before a timer frequency had been set.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/char/hpet.c

index c85d11de5febcf76153d468f1955aea68d2779d4..bc5ee99b9c23787594677fa0a5eac4364b732a0d 100644 (file)
@@ -494,8 +494,11 @@ hpet_ioctl_common(struct hpet_dev *devp, int cmd, unsigned long arg, int kernel)
                {
                        struct hpet_info info;
 
-                       info.hi_ireqfreq = hpet_time_div(hpetp,
-                                                        devp->hd_ireqfreq);
+                       if (devp->hd_ireqfreq)
+                               info.hi_ireqfreq =
+                                       hpet_time_div(hpetp, devp->hd_ireqfreq);
+                       else
+                               info.hi_ireqfreq = 0;
                        info.hi_flags =
                            readq(&timer->hpet_config) & Tn_PER_INT_CAP_MASK;
                        info.hi_hpet = devp->hd_hpets->hp_which;