[PATCH] fix ibm ocp ifconfig oops (for real this time)

STALE8850d

2 messages, 2 authors, 2002-05-14 · open the first message on its own page

[PATCH] fix ibm ocp ifconfig oops (for real this time)

From: John Tyner <hidden>
Date: 2002-05-14 23:30:09

Here is a shorter patch that actually works. Please disregard my last one.
--- drivers/net/ibm_ocp/ibm_ocp_enet.c	Tue May 14 16:24:17 2002
+++ drivers/net/ibm_ocp/ibm_ocp_enet.c	Tue May 14 16:25:58 2002
@@ -244,14 +244,11 @@
 		fep = (struct fec_enet_private *) EMAC_DEV(ocpdev);
 		emacp = (emac_t *) EMAC_DEV(paddr);
 	} else {
-		if ((emac_driver =
-		     ocp_alloc_dev(sizeof (struct fec_enet_private))) == NULL)
-			return -ENOMEM;
+		emac_driver = ( struct ocp_driver *)dev->priv;
 		strcpy(emac_driver->name, "emac");
 		emac_driver->type = EMAC;
 		/* this returns the next emac number */
 		if ((emac_num = ocp_register(emac_driver)) >= 0) {
-			dev->priv = (void *) emac_driver;
 			emac_driver->priv_index = dev->ifindex;
 			emacp =
 			    (emac_t *) ((struct ocp_driver *) dev->priv)->paddr;
@@ -676,6 +673,10 @@
 		dev->set_multicast_list = &ppc405_enet_set_multicast_list;
 		dev->do_ioctl = &fec_enet_ioctl;
 		emac_dev[curr_emac] = dev;
+
+		if ((dev->priv =
+		     ocp_alloc_dev(sizeof (struct fec_enet_private))) == NULL)
+			return -ENOMEM;
 	}

 	for (i = 0; i < NMII - 1; i++)

Re: [PATCH] fix ibm ocp ifconfig oops (for real this time)

From: Armin <hidden>
Date: 2002-05-14 23:47:26

John Tyner wrote:
quoted hunk
Here is a shorter patch that actually works. Please disregard my last one.
--- drivers/net/ibm_ocp/ibm_ocp_enet.c	Tue May 14 16:24:17 2002
+++ drivers/net/ibm_ocp/ibm_ocp_enet.c	Tue May 14 16:25:58 2002
@@ -244,14 +244,11 @@
 		fep = (struct fec_enet_private *) EMAC_DEV(ocpdev);
 		emacp = (emac_t *) EMAC_DEV(paddr);
 	} else {
-		if ((emac_driver =
-		     ocp_alloc_dev(sizeof (struct fec_enet_private))) == NULL)
-			return -ENOMEM;
+		emac_driver = ( struct ocp_driver *)dev->priv;
 		strcpy(emac_driver->name, "emac");
 		emac_driver->type = EMAC;
 		/* this returns the next emac number */
 		if ((emac_num = ocp_register(emac_driver)) >= 0) {
-			dev->priv = (void *) emac_driver;
 			emac_driver->priv_index = dev->ifindex;
 			emacp =
 			    (emac_t *) ((struct ocp_driver *) dev->priv)->paddr;
@@ -676,6 +673,10 @@
 		dev->set_multicast_list = &ppc405_enet_set_multicast_list;
 		dev->do_ioctl = &fec_enet_ioctl;
 		emac_dev[curr_emac] = dev;
+
+		if ((dev->priv =
+		     ocp_alloc_dev(sizeof (struct fec_enet_private))) == NULL)
+			return -ENOMEM;
 	}

 	for (i = 0; i < NMII - 1; i++)
Thanks,

armin


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help