[SRU][Zesty] [QDF2400] pl011 E44 erratum patch needed for 2.0 firmware and 1.1 silicon

Bug #1709123 reported by Manoj Iyer on 2017-08-07
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Critical
Manoj Iyer
Zesty
Undecided
Unassigned

Bug Description

[Impact]
Another bug was found in the pl011/spcr code that implements the work-around for erratum E44. This erratum affects QDF2400 v1.1 silicon. The software bug is only exposed when using Firmware 2.0 or later (estimated release October 2017).

To ensure compatibility with future firmware, the Ubuntu kernel should apply the aforementioned patch. Without this patch, customers using the 2.0 firmware and 1.1 silicon might not have a functional UART console, either sometimes or always.

It is expected that this problem does not occur with 2.0 or later silicon.

[Test Case]
Upgrade firmware to v2.0 on a QDF2400 server with 1.1 silicon, and the kernel should fail to boot, with the patch applied, we should see no boot failure.

[Fix]
Following patch in linux-next fixes this issue:
37ef38f3f838 tty: pl011: fix initialization order of QDF2400 E44

[Regression Potential]
This is a bug fix to tty driver and limited to qdf2400. Low risk.

CVE References

Manoj Iyer (manjo) on 2017-08-07
summary: - [SRU][Zesty] pl011 E44 erratum patch needed for 2.0 firmware and 1.1
- silicon
+ [SRU][Zesty] [QDF2400] pl011 E44 erratum patch needed for 2.0 firmware
+ and 1.1 silicon

Timur,

A test kernel with patch to fix the pl011 bug 1709123 is available in
PPA:

https://launchpad.net/~centriq-team/+archive/ubuntu/lp1709123/

Please test this kernel and report back so that I can SRU the patch.

Thanks
Manoj Iyer.

Jeff,

Thanks for testing and for the positive results from the PPA kernel.
ccing the bug.

Regards
Manoj Iyer

On Tue, Aug 8, 2017 at 12:32 PM, Jeff Hugo <email address hidden>
wrote:
> I tested the kernel from
> https://launchpad.net/~centriq-team/+archive/ubuntu/lp1709123 on a
> device which reproduced the issue 100% of the time in the first two
> reboots of reboot stress testing. The SRU kernel was stable after 20
> reboots in a row. The SRU is validated. Boot log snippet showing
> the kernel that was booted:
>
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Linux version 4.10.0-30-generic
> (buildd@bos01-arm64-043) (gcc version 5.4.0 20160609 (Ubuntu/Linaro
> 5.4.0-6ubuntu1~16.04.4) ) #34~lp709123+build.1-Ubuntu SMP Mon Aug 7
> 18:13:24 UTC 2017 (Ubuntu 4.10.0-30.34~lp709123+build.1-generic
> 4.10.17)
> [ 0.000000] Boot CPU: AArch64 Processor [510f8000]
>
> Jeffrey Hugo
> Senior Engineer
> Qualcomm Datacenter Technologies, Inc.
> 1-303-247-5002
>
> -----Original Message-----
> From: <email address hidden>
> [mailto:<email address hidden>] On Behalf Of
> Timur Tabi
> Sent: Monday, August 07, 2017 12:49 PM
> To: Manoj Iyer <email address hidden>
> Cc: <email address hidden>
> Subject: Re: regarding Pl011 patch for public bug# 1709123
>
> On 08/07/2017 12:01 PM, Manoj Iyer wrote:
>> Timur,
>>
>> Couple things wrt https://launchpad.net/bugs/1709123,
>>
>> 1. I backported your pl011 patch to 4.10, is there any additional
>> patch that I need to pull in for 4.10?
>>
>> backported from linux-next commit
>> 37ef38f3f83891a2f413fb872bae7d0f9bb95b27 tty: pl011: fix
>> initialization order of QDF2400 E44
>
> I presume you already have these:
>
> tty: pl011: fix earlycon work-around for QDF2400 erratum 44
> tty: pl011: use "qdf2400_e44" as the earlycon name for QDF2400 E44
>
>> 2. I will get a kernel built today, and post a request to test on
>> the
>> public bug. Would you be able to verify that on a system with the FW
>> HW configuration that it is known to fail and report back your test
>> results in the bug ref? so that I can submit the SRU ?
>
> Sure.
>
> --
> Bandera-external mailing list
> <email address hidden>
> Modify settings or unsubscribe at:
> https://lists.canonical.com/mailman/listinfo/bandera-external
>

Manoj Iyer (manjo) wrote :

SRU submitted.

Seth Forshee (sforshee) on 2017-08-11
Changed in linux (Ubuntu):
status: Triaged → Fix Committed
Changed in linux (Ubuntu Zesty):
status: New → Fix Committed

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-zesty' to 'verification-done-zesty'. If the problem still exists, change the tag 'verification-needed-zesty' to 'verification-failed-zesty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-zesty
Launchpad Janitor (janitor) wrote :
Download full text (13.1 KiB)

This bug was fixed in the package linux - 4.12.0-12.13

---------------
linux (4.12.0-12.13) artful; urgency=low

  * Artful update to v4.12.8 stable release (LP: #1711368)
    - mm: ratelimit PFNs busy info message
    - mm: fix list corruptions on shmem shrinklist
    - futex: Remove unnecessary warning from get_futex_key
    - xtensa: fix cache aliasing handling code for WT cache
    - xtensa: mm/cache: add missing EXPORT_SYMBOLs
    - xtensa: don't limit csum_partial export by CONFIG_NET
    - xfs: Fix leak of discard bio
    - pinctrl: armada-37xx: Fix number of pin in south bridge
    - mtd: nand: atmel: Fix DT backward compatibility in pmecc.c
    - mtd: nand: Fix timing setup for NANDs that do not support SET FEATURES
    - mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow
    - iscsi-target: fix memory leak in iscsit_setup_text_cmd()
    - iscsi-target: Fix iscsi_np reset hung task during parallel delete
    - usb-storage: fix deadlock involving host lock and scsi_done
    - target: Fix node_acl demo-mode + uncached dynamic shutdown regression
    - fuse: initialize the flock flag in fuse_file on allocation
    - i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz
    - nand: fix wrong default oob layout for small pages using soft ecc
    - mmc: mmc: correct the logic for setting HS400ES signal voltage
    - nfs/flexfiles: fix leak of nfs4_ff_ds_version arrays
    - drm/bridge: tc358767: fix probe without attached output node
    - drm/etnaviv: Fix off-by-one error in reloc checking
    - drm/i915: Fix out-of-bounds array access in bdw_load_gamma_lut
    - USB: serial: option: add D-Link DWM-222 device ID
    - USB: serial: cp210x: add support for Qivicon USB ZigBee dongle
    - USB: serial: pl2303: add new ATEN device id
    - usb: musb: fix tx fifo flush handling again
    - USB: hcd: Mark secondary HCD as dead if the primary one died
    - staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read
    - iio: aspeed-adc: wait for initial sequence.
    - iio: accel: st_accel: add SPI-3wire support
    - iio: accel: bmc150: Always restore device to normal mode after suspend-
      resume
    - iio: pressure: st_pressure_core: disable multiread by default for LPS22HB
    - iio: light: tsl2563: use correct event code
    - iio: adc: Revert "axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register
      modifications"
    - staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING
    - uas: Add US_FL_IGNORE_RESIDUE for Initio Corporation INIC-3069
    - firmware: fix batched requests - wake all waiters
    - firmware: fix batched requests - send wake up on failure on direct lookups
    - firmware: avoid invalid fallback aborts by using killable wait
    - block: Make blk_mq_delay_kick_requeue_list() rerun the queue at a quiet time
    - usb: gadget: udc: renesas_usb3: Fix usb_gadget_giveback_request() calling
    - usb: renesas_usbhs: Fix UGCTRL2 value for R-Car Gen3
    - USB: Check for dropped connection before switching to full speed
    - usb: core: unlink urbs from the tail of the endpoint's urb_list
    - usb: quirks: Add no-lpm quirk for Moshi USB to Ethernet Adapter
    - usb:xhci:Add ...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released

Hi Manoj,

Could you please verify the fix with the latest zesty kernel in -proposed?

Thanks.

Jeff,

The fix for
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1709123 is in
proposed could you please test the proposed kernel and change the bug
tags as verfication-done-zesty, since we dont have the 2.0 firmware at
canonical yet?

Thanks a ton.
Manoj Iyer

Jeffrey Hugo (jhugo-o) wrote :

Validated

tags: added: verification-done-zesty
removed: verification-needed-zesty
Launchpad Janitor (janitor) wrote :
Download full text (4.2 KiB)

This bug was fixed in the package linux - 4.10.0-35.39

---------------
linux (4.10.0-35.39) zesty; urgency=low

  * linux: 4.10.0-35.39 -proposed tracker (LP: #1716606)

  * kernel panic -not syncing: Fatal exception: panic_on_oops (LP: #1708399)
    - SAUCE: s390/mm: fix local TLB flushing vs. detach of an mm address space
    - SAUCE: s390/mm: fix race on mm->context.flush_mm

  * CVE-2017-1000251
    - Bluetooth: Properly check L2CAP config option output buffer length

linux (4.10.0-34.38) zesty; urgency=low

  * linux: 4.10.0-34.38 -proposed tracker (LP: #1713470)

  * Ubuntu 16.04.03: perf tool does not count pm_run_inst_cmpl with rcode on
    POWER9 DD2.0 (LP: #1709964)
    - powerpc/perf: Fix Power9 test_adder fields

  * HID: multitouch: Support ALPS PTP Stick and Touchpad devices (LP: #1712481)
    - HID: multitouch: Support PTP Stick and Touchpad device
    - SAUCE: HID: multitouch: Support ALPS PTP stick with pid 0x120A

  * igb: Support using Broadcom 54616 as PHY (LP: #1712024)
    - SAUCE: igb: add support for using Broadcom 54616 as PHY

  * RPT related fixes missing in Ubuntu 16.04.3 (LP: #1709220)
    - powerpc/mm/radix: Optimise tlbiel flush all case
    - powerpc/mm/radix: Improve _tlbiel_pid to be usable for PWC flushes
    - powerpc/mm/radix: Improve TLB/PWC flushes
    - powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range

  * AMD RV platforms with SNPS 3.1 USB controller stop responding (S3 issue)
    (LP: #1711098)
    - usb: xhci: Issue stop EP command only when the EP state is running

  * dma-buf: performance issue when looking up the fence status (LP: #1711096)
    - dma-buf: avoid scheduling on fence status query v2

  * IPR driver causes multipath to fail paths/stuck IO on Medium Errors
    (LP: #1682644)
    - scsi: ipr: do not set DID_PASSTHROUGH on CHECK CONDITION

  * Disable CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE (LP: #1709171)
    - [Config] CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=n for ppc64el

  * memory-hotplug test needs to be fixed (LP: #1710868)
    - selftests: typo correction for memory-hotplug test
    - selftests: check hot-pluggagble memory for memory-hotplug test
    - selftests: check percentage range for memory-hotplug test
    - selftests: add missing test name in memory-hotplug test
    - selftests: fix memory-hotplug test

  * Ubuntu 16.04.3: Qemu fails on P9 (LP: #1686019)
    - KVM: PPC: Pass kvm* to kvmppc_find_table()
    - KVM: PPC: Use preregistered memory API to access TCE list
    - KVM: PPC: VFIO: Add in-kernel acceleration for VFIO
    - powerpc/powernv/iommu: Add real mode version of iommu_table_ops::exchange()
    - powerpc/powernv/ioda2: Update iommu table base on ownership change
    - powerpc/iommu/vfio_spapr_tce: Cleanup iommu_table disposal
    - powerpc/vfio_spapr_tce: Add reference counting to iommu_table
    - powerpc/mmu: Add real mode support for IOMMU preregistered memory
    - KVM: PPC: Reserve KVM_CAP_SPAPR_TCE_VFIO capability number
    - KVM: PPC: Book3S HV: Add radix checks in real-mode hypercall handlers

  * [SRU][Zesty] [QDF2400] pl011 E44 erratum patch needed for 2.0 firmware and
    1.1 silicon (LP: #1709123)
    - tty: pl011: fix initialization or...

Read more...

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers