= IPMI_CHANNEL_MEDIUM_IPMB;
                                intf->channels[0].protocol
                                        = IPMI_CHANNEL_PROTOCOL_IPMB;
-                               rv = -ENOSYS;
 
                                intf->curr_channel = IPMI_MAX_CHANNELS;
                                wake_up(&intf->waitq);
 
                if (rv) {
                        /* 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;
                        wake_up(&intf->waitq);
-
-                       printk(KERN_WARNING PFX
-                              "Error sending channel information: %d\n",
-                              rv);
                }
        }
  out:
                intf->null_user_handler = channel_handler;
                intf->curr_channel = 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;
+               }
 
                /* Wait for the channel info to be read. */
                wait_event(intf->waitq,