Subject: [PATCH] r8169: Fix iteration variable sign

From: Michael Buesch <[email-masked]>
Date: Wed, 29 Nov 2006 20:48:44 +0100

This changes the type of variable "i" in
rtl8169_init_one() from "unsigned int" to "int".
"i" is checked for <0 later, which can never happen
for "unsigned". This results in broken error handling.

Signed-off-by: Michael Buesch <[email-masked]>

Index: linux-2.6/drivers/net/r8169.c
===================================================================
--- linux-2.6.orig/drivers/net/r8169.c	2006-11-04 19:03:28.000000000 +0100
+++ linux-2.6/drivers/net/r8169.c	2006-11-29 20:41:59.000000000 +0100
@@ -1473,8 +1473,8 @@ rtl8169_init_one(struct pci_dev *pdev, c
 	struct rtl8169_private *tp;
 	struct net_device *dev;
 	void __iomem *ioaddr;
-	unsigned int i, pm_cap;
-	int rc;
+	unsigned int pm_cap;
+	int i, rc;
 
 	if (netif_msg_drv(&debug)) {
 		printk(KERN_INFO "%s Gigabit Ethernet driver %s loaded\n",

-- 
Greetings Michael.