diff --git a/debian/changelog b/debian/changelog index a9df448d4..32007e496 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,8 @@ -linux (4.7~rc3-1~exp2) UNRELEASED; urgency=medium +linux (4.7~rc4-1~exp1) UNRELEASED; urgency=medium + * New upstream release candidate + + [ Ben Hutchings ] * [armel] Disable module signing for all flavours (fixes FTBFS) -- Ben Hutchings Sun, 19 Jun 2016 19:31:41 +0100 diff --git a/debian/patches/bugfix/arm/dwc3-exynos-fix-deferred-probing-storm.patch b/debian/patches/bugfix/arm/dwc3-exynos-fix-deferred-probing-storm.patch deleted file mode 100644 index 08d894fc4..000000000 --- a/debian/patches/bugfix/arm/dwc3-exynos-fix-deferred-probing-storm.patch +++ /dev/null @@ -1,81 +0,0 @@ -From: "Steinar H. Gunderson" -Date: Tue, 24 May 2016 20:13:15 +0200 -Forwarded: http://mid.gmane.org/E1b6Hj3-0001MI-AS@pannekake.samfundet.no -Subject: dwc3-exynos: Fix deferred probing storm. -Bug-Debian: https://bugs.debian.org/823552 - -dwc3-exynos has two problems during init if the regulators are slow -to come up (for instance if the I2C bus driver is not on the initramfs) -and return probe deferral. First, every time this happens, the driver -leaks the USB phys created; they need to be deallocated on error. - -Second, since the phy devices are created before the regulators fail, -this means that there's a new device to re-trigger deferred probing, -which causes it to essentially go into a busy loop of re-probing the -device until the regulators come up. - -Move the phy creation to after the regulators have succeeded, and also -fix cleanup on failure. On my ODROID XU4 system (with Debian's initramfs -which doesn't contain the I2C driver), this reduces the number of probe -attempts (for each of the two controllers) from more than 2000 to eight. - -Signed-off-by: Steinar H. Gunderson -Reviewed-by: Krzysztof Kozlowski -Reviewed-by: Vivek Gautam -Fixes: d720f057fda4 ("usb: dwc3: exynos: add nop transceiver support") -Cc: ---- - drivers/usb/dwc3/dwc3-exynos.c | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c -index dd5cb55..2f1fb7e 100644 ---- a/drivers/usb/dwc3/dwc3-exynos.c -+++ b/drivers/usb/dwc3/dwc3-exynos.c -@@ -128,12 +128,6 @@ static int dwc3_exynos_probe(struct platform_device *pdev) - - platform_set_drvdata(pdev, exynos); - -- ret = dwc3_exynos_register_phys(exynos); -- if (ret) { -- dev_err(dev, "couldn't register PHYs\n"); -- return ret; -- } -- - exynos->dev = dev; - - exynos->clk = devm_clk_get(dev, "usbdrd30"); -@@ -183,20 +177,29 @@ static int dwc3_exynos_probe(struct platform_device *pdev) - goto err3; - } - -+ ret = dwc3_exynos_register_phys(exynos); -+ if (ret) { -+ dev_err(dev, "couldn't register PHYs\n"); -+ goto err4; -+ } -+ - if (node) { - ret = of_platform_populate(node, NULL, NULL, dev); - if (ret) { - dev_err(dev, "failed to add dwc3 core\n"); -- goto err4; -+ goto err5; - } - } else { - dev_err(dev, "no device node, failed to add dwc3 core\n"); - ret = -ENODEV; -- goto err4; -+ goto err5; - } - - return 0; - -+err5: -+ platform_device_unregister(exynos->usb2_phy); -+ platform_device_unregister(exynos->usb3_phy); - err4: - regulator_disable(exynos->vdd10); - err3: - - diff --git a/debian/patches/series b/debian/patches/series index 9e990193b..d6a1498c6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -44,7 +44,6 @@ debian/snd-pcsp-disable-autoload.patch bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch # Arch bug fixes -bugfix/arm/dwc3-exynos-fix-deferred-probing-storm.patch # Arch features features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch