Commit 1f668423 authored by Corey Minyard's avatar Corey Minyard Committed by Linus Torvalds

ipmi: Clean up the error handling for channel config errors

The code to send the channel config errors was missing an error report
in one place and needed some more information in another, and had an
extraneous bit of code.  Clean all that up.
Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent bfe01a5b
...@@ -2796,7 +2796,6 @@ channel_handler(ipmi_smi_t intf, struct ipmi_recv_msg *msg) ...@@ -2796,7 +2796,6 @@ channel_handler(ipmi_smi_t intf, struct ipmi_recv_msg *msg)
= IPMI_CHANNEL_MEDIUM_IPMB; = IPMI_CHANNEL_MEDIUM_IPMB;
intf->channels[0].protocol intf->channels[0].protocol
= IPMI_CHANNEL_PROTOCOL_IPMB; = IPMI_CHANNEL_PROTOCOL_IPMB;
rv = -ENOSYS;
intf->curr_channel = IPMI_MAX_CHANNELS; intf->curr_channel = IPMI_MAX_CHANNELS;
wake_up(&intf->waitq); wake_up(&intf->waitq);
...@@ -2821,12 +2820,12 @@ channel_handler(ipmi_smi_t intf, struct ipmi_recv_msg *msg) ...@@ -2821,12 +2820,12 @@ channel_handler(ipmi_smi_t intf, struct ipmi_recv_msg *msg)
if (rv) { if (rv) {
/* Got an error somehow, just give up. */ /* Got an error somehow, just give up. */
printk(KERN_WARNING PFX
"Error sending channel information for channel"
" %d: %d\n", intf->curr_channel, rv);
intf->curr_channel = IPMI_MAX_CHANNELS; intf->curr_channel = IPMI_MAX_CHANNELS;
wake_up(&intf->waitq); wake_up(&intf->waitq);
printk(KERN_WARNING PFX
"Error sending channel information: %d\n",
rv);
} }
} }
out: out:
...@@ -2964,8 +2963,12 @@ int ipmi_register_smi(struct ipmi_smi_handlers *handlers, ...@@ -2964,8 +2963,12 @@ int ipmi_register_smi(struct ipmi_smi_handlers *handlers,
intf->null_user_handler = channel_handler; intf->null_user_handler = channel_handler;
intf->curr_channel = 0; intf->curr_channel = 0;
rv = send_channel_info_cmd(intf, 0); rv = send_channel_info_cmd(intf, 0);
if (rv) if (rv) {
printk(KERN_WARNING PFX
"Error sending channel information for channel"
" 0, %d\n", rv);
goto out; goto out;
}
/* Wait for the channel info to be read. */ /* Wait for the channel info to be read. */
wait_event(intf->waitq, wait_event(intf->waitq,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment