Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+9 −6
Original line number Original line Diff line number Diff line
@@ -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)


		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,
		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,