On Tue, 17 Jun 2014, Dan Williams wrote:
> In the case where platform firmware has specified conflicting values for
> port locations it is confusing and otherwise not helpful to throw a
> backtrace. Instead, include enough information to determine that
> firmware has done something wrong and globally disable port poweroff.
> @@ -251,6 +264,7 @@ static void link_peers_report(struct usb_port *left,
> struct usb_port *right)
> dev_warn(&left->dev, "failed to peer to %s (%d)\n",
> dev_name(&right->dev), rc);
> pr_warn_once("usb: port power management may be unreliable\n");
> + usb_port_block_power_off = 1;
> }
> }
Ironically, since you've got usb_port_block_power_off, you don't need
to make this pr_warn_once(). Instead, you can do
if (!usb_port_block_power_off) {
usb_port_block_power_off = 1;
pr_warn(...);
}
which is pretty much what pr_warn_once() does.
Furthermore, since power poweroff is now globally disabled, you can say
something stronger than "may be unreliable", such as "has been
disabled".
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html