From: Andrew Morton drivers/char/hw_random.c: In function `geode_init': drivers/char/hw_random.c:517: warning: comparison between pointer and integer Cc: Jordan Crouse Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton --- drivers/char/hw_random.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN drivers/char/hw_random.c~geode-lx-hw-rng-support-fix drivers/char/hw_random.c --- 25/drivers/char/hw_random.c~geode-lx-hw-rng-support-fix 2006-01-04 23:32:47.000000000 -0800 +++ 25-akpm/drivers/char/hw_random.c 2006-01-04 23:33:00.000000000 -0800 @@ -491,6 +491,7 @@ static void __iomem *geode_rng_base = NU static u32 geode_data_read(void) { u32 val; + assert(geode_rng_base != NULL); val = readl(geode_rng_base + GEODE_RNG_DATA_REG); return val; @@ -499,6 +500,7 @@ static u32 geode_data_read(void) static unsigned int geode_data_present(void) { u32 val; + assert(geode_rng_base != NULL); val = readl(geode_rng_base + GEODE_RNG_STATUS_REG); return val; @@ -513,7 +515,9 @@ static void geode_cleanup(void) static int geode_init(struct pci_dev *dev) { unsigned long rng_base = pci_resource_start(dev, 0); - if (rng_base == NULL) return 1; + + if (rng_base == 0) + return 1; geode_rng_base = ioremap(rng_base, 0x58); _