Subject: [PATCH] r8169: incorrect args to oob notify

From: Stephen Hemminger <[email-masked]>
Date: Wed, 23 Feb 2011 09:52:37 -0800

Sparse detected this bug. The function oob_notify was being
passed the private ptr, but expected to get the ioaddr.
Compile checked only; not tested on real hardware.

Patch against net-next-2.6 but should be applied to net-2.6.
Bug not present in 2.6.37 and earlier.

Signed-off-by: Stephen Hemminger <[email-masked]>

--- a/drivers/net/r8169.c	2011-02-23 09:46:30.042289776 -0800
+++ b/drivers/net/r8169.c	2011-02-23 09:48:00.167355773 -0800
@@ -617,8 +617,9 @@ static void ocp_write(struct rtl8169_pri
 	}
 }
 
-static void rtl8168_oob_notify(void __iomem *ioaddr, u8 cmd)
+static void rtl8168_oob_notify(struct rtl8169_private *tp, u8 cmd)
 {
+	void __iomem *ioaddr = tp->mmio_addr;
 	int i;
 
 	RTL_W8(ERIDR, cmd);
@@ -630,7 +631,7 @@ static void rtl8168_oob_notify(void __io
 			break;
 	}
 
-	ocp_write(ioaddr, 0x1, 0x30, 0x00000001);
+	ocp_write(tp, 0x1, 0x30, 0x00000001);
 }
 
 #define OOB_CMD_RESET		0x00