diff options
| -rw-r--r-- | drivers/net/ehea/ehea_main.c | 16 | ||||
| -rw-r--r-- | drivers/net/ehea/ehea_phyp.c | 10 |
2 files changed, 15 insertions, 11 deletions
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index 9486e0a8ec8b..8281b30da32d 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c | |||
| @@ -730,10 +730,7 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed) | |||
| 730 | } | 730 | } |
| 731 | } else { | 731 | } else { |
| 732 | if (hret == H_AUTHORITY) { | 732 | if (hret == H_AUTHORITY) { |
| 733 | ehea_info("Hypervisor denied setting port speed. Either" | 733 | ehea_info("Hypervisor denied setting port speed"); |
| 734 | " this partition is not authorized to set " | ||
| 735 | "port speed or another partition has modified" | ||
| 736 | " port speed first."); | ||
| 737 | ret = -EPERM; | 734 | ret = -EPERM; |
| 738 | } else { | 735 | } else { |
| 739 | ret = -EIO; | 736 | ret = -EIO; |
| @@ -1487,11 +1484,12 @@ out: | |||
| 1487 | 1484 | ||
| 1488 | static void ehea_promiscuous_error(u64 hret, int enable) | 1485 | static void ehea_promiscuous_error(u64 hret, int enable) |
| 1489 | { | 1486 | { |
| 1490 | ehea_info("Hypervisor denied %sabling promiscuous mode.%s", | 1487 | if (hret == H_AUTHORITY) |
| 1491 | enable == 1 ? "en" : "dis", | 1488 | ehea_info("Hypervisor denied %sabling promiscuous mode", |
| 1492 | hret != H_AUTHORITY ? "" : " Another partition owning a " | 1489 | enable == 1 ? "en" : "dis"); |
| 1493 | "logical port on the same physical port might have altered " | 1490 | else |
| 1494 | "promiscuous mode first."); | 1491 | ehea_error("failed %sabling promiscuous mode", |
| 1492 | enable == 1 ? "en" : "dis"); | ||
| 1495 | } | 1493 | } |
| 1496 | 1494 | ||
| 1497 | static void ehea_promiscuous(struct net_device *dev, int enable) | 1495 | static void ehea_promiscuous(struct net_device *dev, int enable) |
diff --git a/drivers/net/ehea/ehea_phyp.c b/drivers/net/ehea/ehea_phyp.c index 0cfc2bc1a27b..37716e05e808 100644 --- a/drivers/net/ehea/ehea_phyp.c +++ b/drivers/net/ehea/ehea_phyp.c | |||
| @@ -94,6 +94,7 @@ static long ehea_plpar_hcall9(unsigned long opcode, | |||
| 94 | { | 94 | { |
| 95 | long ret; | 95 | long ret; |
| 96 | int i, sleep_msecs; | 96 | int i, sleep_msecs; |
| 97 | u8 cb_cat; | ||
| 97 | 98 | ||
| 98 | for (i = 0; i < 5; i++) { | 99 | for (i = 0; i < 5; i++) { |
| 99 | ret = plpar_hcall9(opcode, outs, | 100 | ret = plpar_hcall9(opcode, outs, |
| @@ -106,7 +107,13 @@ static long ehea_plpar_hcall9(unsigned long opcode, | |||
| 106 | continue; | 107 | continue; |
| 107 | } | 108 | } |
| 108 | 109 | ||
| 109 | if (ret < H_SUCCESS) | 110 | cb_cat = EHEA_BMASK_GET(H_MEHEAPORT_CAT, arg2); |
| 111 | |||
| 112 | if ((ret < H_SUCCESS) && !(((ret == H_AUTHORITY) | ||
| 113 | && (opcode == H_MODIFY_HEA_PORT)) | ||
| 114 | && (((cb_cat == H_PORT_CB4) && ((arg3 == H_PORT_CB4_JUMBO) | ||
| 115 | || (arg3 == H_PORT_CB4_SPEED))) || ((cb_cat == H_PORT_CB7) | ||
| 116 | && (arg3 == H_PORT_CB7_DUCQPN))))) | ||
| 110 | ehea_error("opcode=%lx ret=%lx" | 117 | ehea_error("opcode=%lx ret=%lx" |
| 111 | " arg1=%lx arg2=%lx arg3=%lx arg4=%lx" | 118 | " arg1=%lx arg2=%lx arg3=%lx arg4=%lx" |
| 112 | " arg5=%lx arg6=%lx arg7=%lx arg8=%lx" | 119 | " arg5=%lx arg6=%lx arg7=%lx arg8=%lx" |
| @@ -120,7 +127,6 @@ static long ehea_plpar_hcall9(unsigned long opcode, | |||
| 120 | outs[0], outs[1], outs[2], outs[3], | 127 | outs[0], outs[1], outs[2], outs[3], |
| 121 | outs[4], outs[5], outs[6], outs[7], | 128 | outs[4], outs[5], outs[6], outs[7], |
| 122 | outs[8]); | 129 | outs[8]); |
| 123 | |||
| 124 | return ret; | 130 | return ret; |
| 125 | } | 131 | } |
| 126 | 132 | ||
