diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c
index 482cf8c..47b9130 100644
--- a/drivers/usb/gadget/composite.c
+++ b/drivers/usb/gadget/composite.c
@@ -28,14 +28,6 @@
  * with the relevant device-wide data.
  */
 
-/* Some systems will need runtime overrides for the  product identifiers
- * published in the device descriptor, either numbers or strings or both.
- * String parameters are in UTF-8 (superset of ASCII's 7 bit characters).
- */
-static char *iProduct;
-module_param(iProduct, charp, S_IRUGO);
-MODULE_PARM_DESC(iProduct, "USB Product string");
-
 static char composite_manufacturer[50];
 
 /*-------------------------------------------------------------------------*/
@@ -914,7 +906,7 @@
 	if (cdev->manufacturer_override == id)
 		str = composite->iManufacturer ?: composite_manufacturer;
 	else if (cdev->product_override == id)
-		str = iProduct ?: composite->iProduct;
+		str = composite->iProduct;
 	else if (cdev->serial_override == id)
 		str = composite->iSerialNumber;
 	else
@@ -1404,6 +1396,7 @@
 	__le16 bcdDevice;
 	u8 iSerialNumber;
 	u8 iManufacturer;
+	u8 iProduct;
 
 	/*
 	 * these variables may have been set in
@@ -1414,6 +1407,7 @@
 	bcdDevice = new->bcdDevice;
 	iSerialNumber = new->iSerialNumber;
 	iManufacturer = new->iManufacturer;
+	iProduct = new->iProduct;
 
 	*new = *old;
 	if (idVendor)
@@ -1426,6 +1420,8 @@
 		new->iSerialNumber = iSerialNumber;
 	if (iManufacturer)
 		new->iManufacturer = iManufacturer;
+	if (iProduct)
+		new->iProduct = iProduct;
 }
 
 static struct usb_composite_driver *to_cdriver(struct usb_gadget_driver *gdrv)
@@ -1499,7 +1495,7 @@
 			override_id(cdev, &cdev->desc.iManufacturer);
 	}
 
-	if (iProduct || (!cdev->desc.iProduct && composite->iProduct))
+	if (!cdev->desc.iProduct && composite->iProduct)
 		cdev->product_override =
 			override_id(cdev, &cdev->desc.iProduct);
 
@@ -1708,4 +1704,9 @@
 		desc->iManufacturer = dev_str[USB_GADGET_MANUFACTURER_IDX].id;
 		dev_str[USB_GADGET_MANUFACTURER_IDX].s = covr->manufacturer;
 	}
+
+	if (covr->product) {
+		desc->iProduct = dev_str[USB_GADGET_PRODUCT_IDX].id;
+		dev_str[USB_GADGET_PRODUCT_IDX].s = covr->product;
+	}
 }
