diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c
index a3e881c60026b61c2389314a2cb2f0031d7ec2c6..aeddef7a12afe0ec5d8ad668a1ebd1bbe063406b 100644
--- a/drivers/usb/host/isp116x-hcd.c
+++ b/drivers/usb/host/isp116x-hcd.c
@@ -1585,6 +1585,8 @@ static int isp116x_start(struct usb_hcd *hcd)
 	   be always set. Yet, instead, we request individual port
 	   power switching. */
 	val |= RH_A_PSM;
+	/* Report overcurrent per port */
+	val |= RH_A_OCPM;
 	isp116x_write_reg32(isp116x, HCRHDESCA, val);
 	isp116x->rhdesca = isp116x_read_reg32(isp116x, HCRHDESCA);
 
diff --git a/include/linux/usb_isp116x.h b/include/linux/usb_isp116x.h
index c028d724be94424ab9c87ff43163ed67f715cda9..8f0b3c226968c12ee059d4eade363ec297fe491b 100644
--- a/include/linux/usb_isp116x.h
+++ b/include/linux/usb_isp116x.h
@@ -7,7 +7,7 @@
 struct isp116x_platform_data {
 	/* Enable internal resistors on downstream ports */
 	unsigned sel15Kres:1;
-	/* On-chip overcurrent protection */
+	/* On-chip overcurrent detection */
 	unsigned oc_enable:1;
 	/* INT output polarity */
 	unsigned int_act_high:1;