Skip to content

Commit

Permalink
ehea: Improved logging of permission issues
Browse files Browse the repository at this point in the history
Disabled dump of hcall regs on some permission issues and
fixed appropriate misleading logmessages

Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Thomas Klein authored and Jeff Garzik committed Jan 23, 2007
1 parent 4e996b3 commit 7674a58
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
16 changes: 7 additions & 9 deletions drivers/net/ehea/ehea_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -730,10 +730,7 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed)
}
} else {
if (hret == H_AUTHORITY) {
ehea_info("Hypervisor denied setting port speed. Either"
" this partition is not authorized to set "
"port speed or another partition has modified"
" port speed first.");
ehea_info("Hypervisor denied setting port speed");
ret = -EPERM;
} else {
ret = -EIO;
Expand Down Expand Up @@ -1487,11 +1484,12 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa)

static void ehea_promiscuous_error(u64 hret, int enable)
{
ehea_info("Hypervisor denied %sabling promiscuous mode.%s",
enable == 1 ? "en" : "dis",
hret != H_AUTHORITY ? "" : " Another partition owning a "
"logical port on the same physical port might have altered "
"promiscuous mode first.");
if (hret == H_AUTHORITY)
ehea_info("Hypervisor denied %sabling promiscuous mode",
enable == 1 ? "en" : "dis");
else
ehea_error("failed %sabling promiscuous mode",
enable == 1 ? "en" : "dis");
}

static void ehea_promiscuous(struct net_device *dev, int enable)
Expand Down
10 changes: 8 additions & 2 deletions drivers/net/ehea/ehea_phyp.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ static long ehea_plpar_hcall9(unsigned long opcode,
{
long ret;
int i, sleep_msecs;
u8 cb_cat;

for (i = 0; i < 5; i++) {
ret = plpar_hcall9(opcode, outs,
Expand All @@ -106,7 +107,13 @@ static long ehea_plpar_hcall9(unsigned long opcode,
continue;
}

if (ret < H_SUCCESS)
cb_cat = EHEA_BMASK_GET(H_MEHEAPORT_CAT, arg2);

if ((ret < H_SUCCESS) && !(((ret == H_AUTHORITY)
&& (opcode == H_MODIFY_HEA_PORT))
&& (((cb_cat == H_PORT_CB4) && ((arg3 == H_PORT_CB4_JUMBO)
|| (arg3 == H_PORT_CB4_SPEED))) || ((cb_cat == H_PORT_CB7)
&& (arg3 == H_PORT_CB7_DUCQPN)))))
ehea_error("opcode=%lx ret=%lx"
" arg1=%lx arg2=%lx arg3=%lx arg4=%lx"
" arg5=%lx arg6=%lx arg7=%lx arg8=%lx"
Expand All @@ -120,7 +127,6 @@ static long ehea_plpar_hcall9(unsigned long opcode,
outs[0], outs[1], outs[2], outs[3],
outs[4], outs[5], outs[6], outs[7],
outs[8]);

return ret;
}

Expand Down

0 comments on commit 7674a58

Please sign in to comment.