Re: [PATCH][2.6.26] ehea: set mac address fix

2008-06-10 Thread Jeff Garzik

Jan-Bernd Themann wrote:

eHEA has to call firmware functions in order to change the mac address
of a logical port. This patch checks if the logical port is up
when calling the register / deregister mac address calls. If the port
is down these firmware calls would fail and are therefore not executed.

Signed-off-by: Jan-Bernd Themann [EMAIL PROTECTED]


applied


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PATCH][2.6.26] ehea: set mac address fix

2008-06-09 Thread Jan-Bernd Themann
eHEA has to call firmware functions in order to change the mac address
of a logical port. This patch checks if the logical port is up
when calling the register / deregister mac address calls. If the port
is down these firmware calls would fail and are therefore not executed.

Signed-off-by: Jan-Bernd Themann [EMAIL PROTECTED]

---

diff -Nurp -X dontdiff linux-2.6.26-rc4/drivers/net/ehea/ehea_main.c 
patched_kernel/drivers/net/ehea/ehea_main.c
--- linux-2.6.26-rc4/drivers/net/ehea/ehea_main.c   2008-05-26 
20:08:11.0 +0200
+++ patched_kernel/drivers/net/ehea/ehea_main.c 2008-06-09 15:42:17.0 
+0200
@@ -1766,16 +1766,20 @@ static int ehea_set_mac_addr(struct net_
mutex_lock(ehea_bcmc_regs.lock);
 
/* Deregister old MAC in pHYP */
-   ret = ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
-   if (ret)
-   goto out_upregs;
+   if (port-state == EHEA_PORT_UP) {
+   ret = ehea_broadcast_reg_helper(port, H_DEREG_BCMC);
+   if (ret)
+   goto out_upregs;
+   }
 
port-mac_addr = cb0-port_mac_addr  16;
 
/* Register new MAC in pHYP */
-   ret = ehea_broadcast_reg_helper(port, H_REG_BCMC);
-   if (ret)
-   goto out_upregs;
+   if (port-state == EHEA_PORT_UP) {
+   ret = ehea_broadcast_reg_helper(port, H_REG_BCMC);
+   if (ret)
+   goto out_upregs;
+   }
 
ret = 0;
 
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev