[PATCH] smc91x addr config check
  
  The PAGE_SIZE mask is indeed confusing.  Use the exact mask for
  this context which has nothing to do with memory pages at all.
  Also cast to int since the value to compare with is an int.
  
  Signed-off-by: Nicolas Pitre <nico@cam.org>
  Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index 5e561ba..1e2b860 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -1863,7 +1863,7 @@
 	SMC_SELECT_BANK(1);
 	val = SMC_GET_BASE();
 	val = ((val & 0x1F00) >> 3) << SMC_IO_SHIFT;
-	if (((unsigned long)ioaddr & ((PAGE_SIZE-1)<<SMC_IO_SHIFT)) != val) { /*XXX: WTF? */
+	if (((unsigned int)ioaddr & (0x3e0 << SMC_IO_SHIFT)) != val) {
 		printk("%s: IOADDR %p doesn't match configuration (%x).\n",
 			CARDNAME, ioaddr, val);
 	}