From f5c7c4495945f0ddbd74b41b1f81ad3ad14c1203 Mon Sep 17 00:00:00 2001 From: Clemens Ladisch Date: Sun, 30 Oct 2005 15:03:29 -0800 Subject: [PATCH] --- yaml --- r: 11898 b: refs/heads/master c: 9090e6db87e3bdb2a2c187ebc0f9175a9f9e5c6f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/char/hpet.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ba3948d5247d..8c35f130f153 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 874ec33ff9ccf3651590697a2c2923b911bf31d0 +refs/heads/master: 9090e6db87e3bdb2a2c187ebc0f9175a9f9e5c6f diff --git a/trunk/drivers/char/hpet.c b/trunk/drivers/char/hpet.c index c055bb630ffc..b619ca5eaf8c 100644 --- a/trunk/drivers/char/hpet.c +++ b/trunk/drivers/char/hpet.c @@ -364,6 +364,9 @@ static int hpet_ioctl_ieon(struct hpet_dev *devp) hpet = devp->hd_hpet; hpetp = devp->hd_hpets; + if (!devp->hd_ireqfreq) + return -EIO; + v = readq(&timer->hpet_config); spin_lock_irq(&hpet_lock); @@ -516,7 +519,7 @@ hpet_ioctl_common(struct hpet_dev *devp, int cmd, unsigned long arg, int kernel) break; } - if (arg & (arg - 1)) { + if (!arg || (arg & (arg - 1))) { err = -EINVAL; break; }