Commit d25cca49 authored by Ben Hutchings's avatar Ben Hutchings Committed by Lorenzo "Palinuro" Faletra
Browse files

Import Debian changes 4.19.28-2

linux (4.19.28-2) unstable; urgency=medium

  [ Ben Hutchings ]
  * [x86,alpha,m68k] binfmt: Disable BINFMT_AOUT, IA32_AOUT, OSF4_COMPAT
  * [x86] Drop fix for #865303, which no longer affects Debian's OpenJDK
  * udeb: Make serial_cs optional in serial-modules
  * [ppc64el] Disable PCMCIA (fixes FTBFS)

  [ Vagrant Cascadian ]
  * [arm64] Enable DRM_SUN4I and DRM_SUN8I_DW_HDMI as modules.
  * [arm64] Enable I2C_GPIO as a module.
  * [arm64] Enable MESON_EFUSE as a module.

  [ Yves-Alexis Perez ]
  * certs: include both root CA and direct signing certificate.
    closes: #924545

linux (4.19.28-1) unstable; urgency=medium

  * New upstream stable update:
    - devres: Align data[] to ARCH_KMALLOC_MINALIGN
    - drm/bufs: Fix Spectre v1 vulnerability
    - drm/vgem: Fix vgem_init to get drm device available.
    - [arm*] pinctrl: bcm2835: Use raw spinlock for RT compatibility
    - [x86] ASoC: Intel: mrfld: fix uninitialized variable access
    - gpiolib: Fix possible use after free on label
    - [armhf] drm/sun4i: Initialize registers in tcon-top driver
    - genirq/affinity: Spread IRQs to all available NUMA nodes
    - [armhf] gpu: ipu-v3: image-convert: Prevent race between run and
    - wil6210: fix reset flow for Talyn-mb
    - wil6210: fix memory leak in wil_find_tx_bcast_2
    - ath10k: assign 'n_cipher_suites' for WCN3990
    - ath9k: dynack: use authentication messages for 'late' ack
    - scsi: lpfc: Correct LCB RJT handling
    - scsi: mpt3sas: Call sas_remove_host before removing the target devices
    - scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event
    - [armhf] 8808/1: kexec:offline panic_smp_self_stop CPU
    - [mips] clk: boston: fix possible memory leak in clk_boston_setup()
    - dlm: Don't swamp the CPU with callbacks queued during recovery
    - [x86] PCI: Fix Broadcom CNB20LE unintended sign extension (redux)
    - [powerpc] pseries: add of_node_put() in dlpar_detach_node()
    - [arm*] drm/vc4: ->x_scaling[1] should never be set to VC4_SCALING_NONE
    - ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
    - [mips] Boston: Disable EG20T prefetch
    - iwlwifi: fw: do not set sgi bits for HE connection
    - fpga: altera-cvp: Fix registration for CvP incapable devices
    - [x86] fpga: altera-cvp: fix 'bad IO access' on x86_64
    - [x86] vbox: fix link error with 'gcc -Og'
    - platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup
    - i40e: prevent overlapping tx_timeout recover
    - scsi: hisi_sas: change the time of SAS SSP connection
    - usbnet: smsc95xx: fix rx packet alignment
    - [armhf,arm64] drm/rockchip: fix for mailbox read size
    - [arm*] OMAP2+: hwmod: Fix some section annotations
    - drm/amd/display: fix gamma not being applied correctly
    - drm/amd/display: calculate stream->phy_pix_clk before clock mapping
    - bpf: libbpf: retry map creation without the name
    - net/mlx5: EQ, Use the right place to store/read IRQ affinity hint
    - modpost: validate symbol names also in find_elf_symbol
    - perf tools: Add Hygon Dhyana support
    - [armhf] soc/tegra: Don't leak device tree node reference
    - media: rc: ensure close() is called on rc_unregister_device
    - media: video-i2c: avoid accessing released memory area when removing
    - [armhf] media: mtk-vcodec: Release device nodes in
    - ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
    - dmaengine: xilinx_dma: Remove __aligned attribute on zynqmp_dma_desc_ll
    - [powerpc] 32: Add .data..Lubsan_data*/.data..Lubsan_type* sections
    - media: adv*/tc358743/ths8200: fill in min width/height/pixelclock
    - ACPI: SPCR: Consider baud rate 0 as preconfigured state
    - f2fs: move dir data flush to write checkpoint process
    - f2fs: fix race between write_checkpoint and write_begin
    - f2fs: fix wrong return value of f2fs_acl_create
    - [arm64] io: Ensure calls to delay routines are ordered against prior
    - net: aquantia: return 'err' if set MPI_DEINIT state fails
    - [sparc*] sunvdc: Do not spin in an infinite loop when vio_ldc_send()
      returns EAGAIN
    - nfsd4: fix crash on writing v4_end_grace before nfsd startup
    - drm: Clear state->acquire_ctx before leaving
    - [arm64] io: Ensure value passed to __iormb() is held in a 64-bit register
    - Thermal: do not clear passive state during system sleep
    - thermal: Fix locking in cooling device sysfs update cur_state
    - firmware/efi: Add NULL pointer checks in efivars API functions
    - [s390] zcrypt: improve special ap message cmd handling
    - [arm64] ftrace: don't adjust the LR value
    - [x86] fpu: Add might_fault() to user_insn()
    - usb: dwc3: Correct the logic for checking TRB full in
    - usb: dwc2: Disable power down feature on Samsung SoCs
    - usb: hub: delay hub autosuspend if USB3 port is still link training
    - timekeeping: Use proper seqcount initializer
    - usb: mtu3: fix the issue about SetFeature(U1/U2_Enable)
    - [armhf] clk: sunxi-ng: a33: Set CLK_SET_RATE_PARENT for all audio module
    - media: imx274: select REGMAP_I2C
    - drm/amdgpu/powerplay: fix clock stretcher limits on polaris (v2)
    - tipc: fix node keep alive interval calculation
    - driver core: Move async_synchronize_full call
    - kobject: return error code if writing /sys/.../uevent fails
    - IB/hfi1: Unreserve a reserved request when it is completed
    - usb: dwc3: trace: add missing break statement to make compiler happy
    - [mips] gpio: mt7621: report failure of devm_kasprintf()
    - [mips] gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack
    - [x86] iommu/amd: Fix amd_iommu=force_isolation
    - [armhf] dts: Fix OMAP4430 SDP Ethernet startup
    - [mips] bpf: fix encoding bug for mm_srlv32_op
    - media: coda: fix H.264 deblocking filter controls
    - [armel] dts: Fix up the D-Link DIR-685 MTD partition info
    - watchdog: renesas_wdt: don't set divider while watchdog is running
    - [armhf] dts: imx51-zii-rdu1: Do not specify "power-gpio" for hpa1
    - usb: dwc3: gadget: Disable CSP for stream OUT ep
    - [arm64] iommu/arm-smmu-v3: Avoid memory corruption from Hisilicon MSI
    - [arm64] iommu/arm-smmu: Add support for qcom,smmu-v2 variant
    - [arm64] iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer
    - [armhf] clk: imx6sl: ensure MMDC CH0 handshake is bypassed
    - OPP: Use opp_table->regulators to verify no regulator case
    - [arm64] tee: optee: avoid possible double list_del()
    - [arm64] drm/msm/dsi: fix dsi clock names in DSI 10nm PLL driver
    - [arm64] drm/msm: dpu: Only check flush register against pending flushes
    - lightnvm: pblk: fix resubmission of overwritten write err lbas
    - lightnvm: pblk: add lock protection to list operations
    - i2c-axxia: check for error conditions first
    - [armhf] phy: sun4i-usb: add support for missing USB PHY index
    - udf: Fix BUG on corrupted inode
    - selftests/bpf: use __bpf_constant_htons in test_prog.c
    - [armel] pxa: avoid section mismatch warning
    - [armhf] ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M
    - [powerpc] KVM: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv
    - [arm*] mmc: bcm2835: Recover from MMC_SEND_EXT_CSD
    - [arm*] mmc: bcm2835: reset host on timeout
    - memstick: Prevent memstick host from getting runtime suspended during
      card detection
    - [arm64] mmc: sdhci-xenon: Fix timeout checks
    - btrfs: harden agaist duplicate fsid on scanned devices
    - serial: sh-sci: Fix locking in sci_submit_rx()
    - serial: sh-sci: Resume PIO in sci_rx_interrupt() on DMA failure
    - tty: serial: samsung: Properly set flags in autoCTS mode
    - perf test: Fix perf_event_attr test failure
    - perf dso: Fix unchecked usage of strncpy()
    - perf header: Fix unchecked usage of strncpy()
    - btrfs: use tagged writepage to mitigate livelock of snapshot
    - perf probe: Fix unchecked usage of strncpy()
    - i2c: sh_mobile: Add support for r8a774c0 (RZ/G2E)
    - bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings.
    - [x86] tools/power/x86/intel_pstate_tracer: Fix non root execution for
      post processing a trace file
    - livepatch: check kzalloc return values
    - [arm64] KVM: Skip MMIO insn after emulation
    - usb: musb: dsps: fix otg state machine
    - usb: musb: dsps: fix runtime pm for peripheral mode
    - perf header: Fix up argument to ctime()
    - perf tools: Cast off_t to s64 to avoid warning on bionic libc
    - percpu: convert spin_lock_irq to spin_lock_irqsave.
    - [arm64] net: hns3: fix incomplete uninitialization of IRQ in the
    - drm/amd/display: Add retry to read ddc_clock pin
    - Bluetooth: hci_bcm: Handle deferred probing for the clock supply
    - drm/amd/display: fix YCbCr420 blank color
    - [powerpc] uaccess: fix warning/error with access_ok()
    - mac80211: fix radiotap vendor presence bitmap handling
    - xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi
    - scsi: smartpqi: correct host serial num for ssa
    - scsi: smartpqi: correct volume status
    - scsi: smartpqi: increase fw status register read timeout
    - cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan()
    - [arm64] net: hns3: add max vector number check for pf
    - [powerpc] perf: Fix thresholding counter data for unknown type
    - iwlwifi: mvm: fix setting HE ppe FW config
    - [powerpc] powernv/ioda: Allocate indirect TCE levels of cached userspace
      addresses on demand
    - mlx5: update timecounter at least twice per counter overflow
    - drbd: narrow rcu_read_lock in drbd_sync_handshake
    - drbd: disconnect, if the wrong UUIDs are attached on a connected peer
    - drbd: skip spurious timeout (ping-timeo) when failing promote
    - drbd: Avoid Clang warning about pointless switch statment
    - drm/amd/display: validate extended dongle caps
    - md: fix raid10 hang issue caused by barrier
    - fbdev: fbmem: behave better with small rotated displays and many CPUs
    - i40e: define proper net_device::neigh_priv_len
    - ice: Do not enable NAPI on q_vectors that have no rings
    - igb: Fix an issue that PME is not enabled during runtime suspend
    - ACPI/APEI: Clear GHES block_status before panic()
    - fbdev: fbcon: Fix unregister crash when more than one framebuffer
    - [powerpc] mm: Fix reporting of kernel execute faults on the 8xx
    - [x86] KVM: svm: report MSR_IA32_MCG_EXT_CTL as unsupported
    - [powerpc] fadump: Do not allow hot-remove memory from fadump reserved
    - kvm: Change offset in kvm_write_guest_offset_cached to unsigned
    - NFS: nfs_compare_mount_options always compare auth flavors.
    - perf build: Don't unconditionally link the libbfd feature test to
      -liberty and -lz
    - hwmon: (lm80) fix a missing check of the status of SMBus read
    - hwmon: (lm80) fix a missing check of bus read in lm80 probe
    - seq_buf: Make seq_buf_puts() null-terminate the buffer
    - cifs: check ntwrk_buf_start for NULL before dereferencing it
    - f2fs: fix use-after-free issue when accessing sbi->stat_info
    - niu: fix missing checks of niu_pci_eeprom_read
    - f2fs: fix sbi->extent_list corruption issue
    - cgroup: fix parsing empty mount option string
    - perf python: Do not force closing original perf descriptor in
    - scripts/decode_stacktrace: only strip base path when a prefix of the path
    - arch/sh/boards/mach-kfr2r09/setup.c: fix struct mtd_oob_ops build warning
    - ocfs2: don't clear bh uptodate for block read
    - ocfs2: improve ocfs2 Makefile
    - mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init
    - zram: fix lockdep warning of free block handling
    - isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in
    - [m68k] block/swim3: Fix -EBUSY error when re-opening device after unmount
    - [arm*] thermal: bcm2835: enable hwmon explicitly
    - [armhf] PCI: imx: Enable MSI from downstream components
    - thermal: generic-adc: Fix adc to temp interpolation
    - [arm64] sve: ptrace: Fix SVE_PT_REGS_OFFSET definition
    - kernel/hung_task.c: break RCU locks based on jiffies
    - proc/sysctl: fix return error for proc_doulongvec_minmax()
    - kernel/hung_task.c: force console verbose before panic
    - fs/epoll: drop ovflist branch prediction
    - exec: load_script: don't blindly truncate shebang string
    - xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat
    - xfs: cancel COW blocks before swapext
    - xfs: Fix error code in 'xfs_ioc_getbmap()'
    - xfs: fix overflow in xfs_attr3_leaf_verify
    - xfs: fix shared extent data corruption due to missing cow reservation
    - xfs: fix transient reference count error in
    - xfs: delalloc -> unwritten COW fork allocation can go wrong
    - fs/xfs: fix f_ffree value for statfs when project quota is set
    - xfs: fix PAGE_MASK usage in xfs_free_file_space
    - xfs: fix inverted return from xfs_btree_sblock_verify_crc
    - thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set
    - dccp: fool proof ccid_hc_[rt]x_parse_options()
    - enic: fix checksum validation for IPv6
    - lib/test_rhashtable: Make test_insert_dup() allocate its hash table
    - net: dsa: Fix lockdep false positive splat
    - net: dsa: Fix NULL checking in dsa_slave_set_eee()
    - [armhf,arm64] net: dsa: mv88e6xxx: Fix counting of ATU violations
    - net: dsa: slave: Don't propagate flag changes on down slave interfaces
    - net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames
    - rds: fix refcount bug in rds_sock_addref
    - Revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for
    - rxrpc: bad unlock balance in rxrpc_recvmsg
    - sctp: check and update stream->out_curr when allocating stream_out
    - sctp: walk the list of asoc safely (CVE-2019-8956)
    - skge: potential memory corruption in skge_get_regs()
    - virtio_net: Account for tx bytes and packets on sending xdp_frames
    - net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance
    - xfs: eof trim writeback mapping as soon as it is cached
    - ALSA: compress: Fix stop handling on compressed capture streams
    - ALSA: usb-audio: Add support for new T+A USB DAC
    - ALSA: hda - Serialize codec registrations
    - ALSA: hda/realtek - Fix lose hp_pins for disable auto mute
    - ALSA: hda/realtek - Use a common helper for hp pin reference
    - ALSA: hda/realtek - Headset microphone support for System76 darp5
    - fuse: call pipe_buf_release() under pipe lock
    - fuse: decrement NR_WRITEBACK_TEMP on the right page
    - fuse: handle zero sized retrieve correctly
    - [arm*] dmaengine: bcm2835: Fix interrupt race on RT
    - [arm*] dmaengine: bcm2835: Fix abort of transactions
    - [armhf] dmaengine: imx-dma: fix wrong callback invoke
    - futex: Handle early deadlock return correctly
    - [arm64] irqchip/gic-v3-its: Plug allocation race for devices sharing a
    - [armhf] usb: phy: am335x: fix race condition in _probe
    - usb: dwc3: gadget: Handle 0 xfer length for OUT EP
    - usb: gadget: udc: net2272: Fix bitwise and boolean operations
    - usb: gadget: musb: fix short isoc packets with inventra dma
    - staging: speakup: fix tty-operation NULL derefs
    - scsi: cxlflash: Prevent deadlock when adapter probe fails
    - scsi: aic94xx: fix module loading
    - cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM
    - [x86] perf/x86/intel/uncore: Add Node ID mask
    - [x86] MCE: Initialize in the case of a fatal error in
    - perf/core: Don't WARN() for impossible ring-buffer sizes
    - perf tests evsel-tp-sched: Fix bitwise operator
    - serial: fix race between flush_to_ldisc and tty_open
    - serial: 8250_pci: Make PCI class test non fatal
    - serial: sh-sci: Do not free irqs that have already been freed
    - cacheinfo: Keep the old value if of_property_read_u32 fails
    - IB/hfi1: Add limit test for RC/UC send via loopback
    - [x86] perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu()
    - ath9k: dynack: make ewma estimation faster
    - ath9k: dynack: check da->enabled first in sampling routines
    - mtd: Make sure mtd->erasesize is valid even if the partition is of size 0
    - mtd: rawnand: gpmi: fix MX28 bus master lockup problem
    - libata: Add NOLPM quirk for SAMSUNG MZ7TE512HMHP-000L1 SSD
    - [armhf, arm64] iio: adc: axp288: Fix TS-pin handling
    - signal: Always notice exiting tasks
    - signal: Better detection of synchronous signals
    - [armhf, arm64] misc: vexpress: Off by one in vexpress_syscfg_exec()
    - [x86] mei: me: add ice lake point device id.
    - debugfs: fix debugfs_rename parameter checking
    - [arm64] pinctrl: sunxi: Correct number of IRQ banks on H6 main pin
    - [x86] pinctrl: cherryview: fix Strago DMI workaround
    - tracing: uprobes: Fix typo in pr_fmt string
    - [mips*] cm: reprime error cause
    - [mips*] OCTEON: don't set octeon_dma_bar_type if PCI is disabled
    - [mips*] VDSO: Use same -m%-float cflag as the kernel proper
    - [mips*] loongson64: remove unreachable(), fix loongson_poweroff().
    - [mips*] VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
    - [arm64] firmware: arm_scmi: provide the mandatory device release callback
    - [powerpc*] radix: Fix kernel crash with mremap()
    - [amd64] mic: vop: Fix use-after-free on remove
    - mac80211: ensure that mgmt tx skbs have tailroom for encryption
    - drm/modes: Prevent division by zero htotal
    - drm/amd/powerplay: Fix missing break in switch
    - [x86] drm/i915: always return something on DDI clock selection
    - [x86] drm/vmwgfx: Fix setting of dma masks
    - [x86] drm/vmwgfx: Return error code from vmw_execbuf_copy_fence_user
    - SUNRPC: Always drop the XPRT_LOCK on XPRT_CLOSE_WAIT
    - xfrm: Make set-mark default behavior backward compatible
    - Revert "ext4: use ext4_write_inode() when fsyncing w/o a journal"
    - libceph: avoid KEEPALIVE_PENDING races in ceph_con_keepalive()
    - xfrm: refine validation of template and selector families
    - batman-adv: Avoid WARN on net_device without parent in netns
    - batman-adv: Force mac header to start of data on xmit
    - svcrdma: Reduce max_send_sges
    - svcrdma: Remove max_sge check at connect time
    - Revert "exec: load_script: don't blindly truncate shebang string"
    - dt-bindings: eeprom: at24: add "atmel,24c2048" compatible string
    - eeprom: at24: add support for 24c2048
    - blk-mq: fix a hung issue when fsync (Closes: #913119, #913138)
    - [armel, armhf] 8789/1: signal: copy registers using __copy_to_user()
    - [armel, armhf] 8790/1: signal: always use __copy_to_user to save iwmmxt
    - [armel, armhf] 8791/1: vfp: use __copy_to_user() when saving VFP state
    - [armel, armhf] 8792/1: oabi-compat: copy oabi events using
    - [armel, armhf] 8793/1: signal: replace __put_user_error with __put_user
    - [armel, armhf] 8794/1: uaccess: Prevent speculative use of the current
    - [armel, armhf] 8795/1: spectre-v1.1: use put_user() for __put_user()
    - [armel, armhf] 8796/1: spectre-v1,v1.1: provide helpers for address
    - [armel, armhf] 8797/1: spectre-v1.1: harden __copy_to_user
    - [armel, armhf] 8810/1: vfp: Fix wrong assignement to ufp_exc
    - [armel, armhfl armhf] make lookup_processor_type() non-__init
    - [armel, armhf] split out processor lookup
    - [armel, armhf] clean up per-processor check_bugs method call
    - [armel, armhf] add PROC_VTABLE and PROC_TABLE macros
    - [armel, armhf] spectre-v2: per-CPU vtables to work around big.Little
    - [armel, armhf] ensure that processor vtables is not lost after boot
    - [armel, armhf] fix the cockup in the previous patch
    - drm/amdgpu/sriov:Correct pfvf exchange logic
    - [i386] ACPI: NUMA: Use correct type for printing addresses on i386-PAE
    - perf report: Fix wrong iteration count in --branch-history
    - perf test shell: Use a fallback to get the pathname in vfs_getname
    - [riscv64] riscv: fix trace_sys_exit hook
    - cpufreq: check if policy is inactive early in __cpufreq_get()
    - nvme-pci: use the same attributes when freeing host_mem_desc_bufs.
    - nvme-pci: fix out of bounds access in nvme_cqe_pending
    - nvme-multipath: zero out ANA log buffer
    - nvme: pad fake subsys NQN vid and ssvid with zeros
    - drm/amdgpu: set WRITE_BURST_LENGTH to 64B to workaround SDMA1 hang
    - [armel] dts: kirkwood: Fix polarity of GPIO fan lines
    - [armel, armhf] gpio: pl061: handle failed allocations
    - drm/nouveau: Don't disable polling in fallback mode
    - drm/nouveau/falcon: avoid touching registers if engine is off
    - cifs: Limit memory used by lock request calls to a page
    - [x86] kvm: sev: Fail KVM_SEV_INIT if already initialized
    - CIFS: Do not assume one credit for async responses
    - [arm*] gpio: mxc: move gpio noirq suspend/resume to syscore phase
    - [x86] Revert "Input: elan_i2c - add ACPI ID for touchpad in ASUS Aspire
    - [x86] Input: elan_i2c - add ACPI ID for touchpad in Lenovo V330-15ISK
    - [armhf] OMAP5+: Fix inverted nirq pin interrupts with irq_set_type
    - perf/core: Fix impossible ring-buffer sizes warning
    - [x86] perf: Add check_period PMU callback
    - [x86] ALSA: hda - Add quirk for HP EliteBook 840 G5
    - ALSA: usb-audio: Fix implicit fb endpoint setup by quirk
    - ASoC: hdmi-codec: fix oops on re-probe
    - [alpha] tools uapi: fix Alpha support
    - [riscv64] Add pte bit to distinguish swap from invalid
    - [x86] kvm/nVMX: read from MSR_IA32_VMX_PROCBASED_CTLS2 only when it is
    - [x86] kvm: vmx: Fix entry number check for add_atomic_switch_msr()
    - [arm*] mmc: sunxi: Filter out unsupported modes declared in the device
    - mmc: block: handle complete_work on separate workqueue
    - [x86] Input: elantech - enable 3rd button support on Fujitsu CELSIUS H780
    - Revert "nfsd4: return default lease period"
    - Revert "mm: don't reclaim inodes with many attached pages"
    - Revert "mm: slowly shrink slabs with a relatively small number of
    - [alpha] fix page fault handling for r16-r18 targets
    - [alpha] Fix Eiger NR_IRQS to 128
    - [s390*] zcrypt: fix specification exception on z196 during ap probe
    - tracing/uprobes: Fix output for multiple string arguments
    - [x86] platform/UV: Use efi_runtime_lock to serialise BIOS calls
    - scsi: sd: fix entropy gathering for most rotational disks
    - signal: Restore the stop PTRACE_EVENT_EXIT
    - md/raid1: don't clear bitmap bits on interrupted recovery.
    - [x86] a.out: Clear the dump structure initially
    - dm crypt: don't overallocate the integrity tag space
    - dm thin: fix bug where bio that overwrites thin block ignores FUA
    - drm: Use array_size() when creating lease
    - [x86] drm/i915: Block fbdev HPD processing during suspend
    - [x86] drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set
    - mm: proc: smaps_rollup: fix pss_locked calculation
    - af_packet: fix raw sockets over 6in4 tunnel
    - [arm64, armhf] dsa: mv88e6xxx: Ensure all pending interrupts are handled
      prior to exit
    - net: crypto set sk to NULL when af_alg_release. (CVE-2019-8912)
    - net: Fix for_each_netdev_feature on Big endian
    - net: fix IPv6 prefix route residue
    - net: ip6_gre: initialize erspan_ver just for erspan tunnels
    - net: ipv4: use a dedicated counter for icmp_v4 redirect packets
    - net: phy: xgmiitorgmii: Support generic PHY status read
    - net: stmmac: Fix a race in EEE enable callback
    - net: stmmac: handle endianness in dwmac4_get_timestamp
    - sky2: Increase D3 delay again
    - vhost: correctly check the return value of translate_desc() in log_used()
    - vsock: cope with memory allocation failure at socket creation time
    - vxlan: test dev->flags & IFF_UP before calling netif_rx()
    - net: Add header for usage of fls64()
    - tcp: clear icsk_backoff in tcp_write_queue_purge()
    - tcp: tcp_v4_err() should be more careful
    - net: Do not allocate page fragments that are not skb aligned
    - hwmon: (lm80) Fix missing unlock on error in set_fan_div()
    - scsi: target/core: Use kmem_cache_free() instead of kfree()
    - PCI: Fix __initdata issue with "pci=disable_acs_redir" parameter
    - sunrpc: fix 4 more call sites that were using stack memory with a
    - netfilter: nf_nat_snmp_basic: add missing length checks in ASN.1 cbs
    - net/x25: do not hold the cpu too long in x25_new_lci()
    - ax25: fix possible use-after-free
    - [armel armhf] 8834/1: Fix: kprobes: optimized kprobes illegal instruction
    - tracing: Fix number of entries in trace header
    - [mips*] eBPF: Always return sign extended 32b values
    - mac80211: Restore vif beacon interval if start ap fails
    - mac80211: Use linked list instead of rhashtable walk for mesh tables
    - mac80211: Free mpath object when rhashtable insertion fails
    - libceph: handle an empty authorize reply
    - ceph: avoid repeatedly adding inode to mdsc->snap_flush_list
    - numa: change get_mempolicy() to use nr_node_ids instead of MAX_NUMNODES
    - proc, oom: do not report alien mms when setting oom_score_adj
    - [x86] ALSA: hda/realtek - Headset microphone and internal speaker
      support for System76 oryp5
    - [x86] ALSA: hda/realtek: Disable PC beep in passthrough on alc285
    - KEYS: allow reaching the keys quotas exactly
    - [armhf,arm64] backlight: pwm_bl: Fix devicetree parsing with auto-
      generated brightness tables
    - [armhf] mfd: ti_am335x_tscadc: Use PLATFORM_DEVID_AUTO while registering
      mfd cells
    - [armhf] mfd: twl-core: Fix section annotations on {,un}protect_pm_master
    - [arm64] mfd: qcom_rpm: write fw_version to CTRL_REG
    - mfd: axp20x: Add AC power supply cell for AXP813
    - mfd: axp20x: Re-align MFD cell entries
    - mfd: axp20x: Add supported cells for AXP803
    - mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
    - [armhf] mfd: mc13xxx: Fix a missing check of a register-read failure
    - qed: Fix qed_chain_set_prod() for PBL chains with non power of 2 page
    - qed: Fix qed_ll2_post_rx_buffer_notify_fw() by adding a write memory
    - [arm64] net: hns: Fix use after free identified by SLUB debug
    - bpf: Fix [::] -> [::1] rewrite in sys_sendmsg
    - selftests/bpf: Test [::] -> [::1] rewrite in sys_sendmsg in
    - net/mlx4: Get rid of page operation after dma_alloc_coherent
    - xprtrdma: Double free in rpcrdma_sendctxs_create()
    - selftests: forwarding: Add a test for VLAN deletion
    - netfilter: nf_tables: fix leaking object reference count
    - scsi: qla4xxx: check return code of qla4xxx_copy_from_fwddb_param
    - scsi: isci: initialize shost fully before calling scsi_add_host()
    - include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR
    - netfilter: nft_flow_offload: Fix reverse route lookup
    - bpf: correctly set initial window on active Fast Open sender
    - bpf: fix panic in stack_map_get_build_id() on i386 and arm32
    - netfilter: nft_flow_offload: fix interaction with vrf slave device
    - RDMA/mthca: Clear QP objects during their allocation
    - [powerpcspe] 8xx: fix setting of pagetable for Abatron BDI debug tool.
    - acpi/nfit: Fix race accessing memdev in nfit_get_smbios_id()
    - net: stmmac: Fix PCI module removal leak
    - net: stmmac: dwxgmac2: Only clear interrupts that are active
    - net: stmmac: Check if CBS is supported before configuring
    - net: stmmac: Fix the logic of checking if RX Watchdog must be enabled
    - net: stmmac: Prevent RX starvation in stmmac_napi_poll()
    - scsi: tcmu: avoid cmd/qfull timers updated whenever a new cmd comes
    - scsi: ufs: Fix system suspend status
    - scsi: qedi: Add ep_state for login completion on un-reachable targets
    - scsi: ufs: Fix geometry descriptor size
    - scsi: cxgb4i: add wait_for_completion()
    - netfilter: nft_flow_offload: fix checking method of conntrack helper
    - always clear the X2APIC_ENABLE bit for PV guest
    - [armhf, arm64] drm/meson: add missing of_node_put
    - drm/amdkfd: Don't assign dGPUs to APU topology devices
    - drm/amd/display: fix PME notification not working in RV desktop
    - vhost: return EINVAL if iovecs size does not match the message size
    - [armhf, arm64] drm/sun4i: backend: add missing of_node_puts
    - bpf: don't assume build-id length is always 20 bytes
    - bpf: zero out build_id for BPF_STACK_BUILD_ID_IP
    - atm: he: fix sign-extension overflow on large shift
    - hwmon: (tmp421) Correct the misspelling of the tmp442 compatible
      attribute in OF device ID table
    - [armhf] leds: lp5523: fix a missing check of return value of lp55xx_read
    - bpf: bpf_setsockopt: reset sock dst on SO_MARK changes
    - net: bridge: Mark FDB entries that were added by user as such
    - net/mlx5e: Fix wrong (zero) TX drop counter indication for representor
    - isdn: avm: Fix string plus integer warning from Clang
    - batman-adv: fix uninit-value in batadv_interface_tx()
    - inet_diag: fix reporting cgroup classid and fallback to priority
    - ipv6: propagate genlmsg_reply return code
    - net: ena: fix race between link up and device initalization
    - net/mlx4_en: Force CHECKSUM_NONE for short ethernet frames
    - net/mlx5e: Don't overwrite pedit action when multiple pedit used
    - net/packet: fix 4gb buffer limit due to overflow check
    - net: sfp: do not probe SFP module before we're attached
    - sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment
    - sctp: set stream ext to NULL after freeing it in sctp_stream_outq_migrate
    - team: avoid complex list operations in team_nl_cmd_options_set()
    - Revert "socket: fix struct ifreq size in compat ioctl"
    - Revert "kill dev_ifsioc()"
    - net: socket: fix SIOCGIFNAME in compat
    - net: socket: make bond ioctls go through compat_ifreq_ioctl()
    - geneve: should not call rt6_lookup() when ipv6 was disabled
    - sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach()
    - net_sched: fix a race condition in tcindex_destroy() (Closes: #921542)
    - net_sched: fix a memory leak in cls_tcindex
    - net_sched: fix two more memory leaks in cls_tcindex
    - net/mlx5e: XDP, fix redirect resources availability check
    - RDMA/srp: Rework SCSI device reset handling
    - KEYS: user: Align the payload buffer
    - KEYS: always initialize keyring_index_key::desc_len
    - drm/amdgpu: Set DPM_FLAG_NEVER_SKIP when enabling PM-runtime
    - gpu: drm: radeon: Set DPM_FLAG_NEVER_SKIP when enabling PM-runtime
    - [x86] drm/i915/fbdev: Actually configure untiled displays
    - drm/amd/display: Fix MST reboot/poweroff sequence
    - mac80211: allocate tailroom for forwarded mesh packets
    - [x86] kvm: Return LA57 feature based on hardware capability
    - net: validate untrusted gso packets without csum offload
    - net: avoid false positives in untrusted gso validation
    - Revert "bridge: do not add port to router list when receives query with
    - netfilter: nf_tables: fix flush after rule deletion in the same batch
    - netfilter: nft_compat: use-after-free when deleting targets
    - netfilter: ipv6: Don't preserve original oif for loopback address
    - netfilter: nfnetlink_osf: add missing fmatch check
    - netfilter: ipt_CLUSTERIP: fix sleep-in-atomic bug in
    - udlfb: handle unplug properly
    - [armhf arm64] pinctrl: max77620: Use define directive for
      max77620_pinconf_param values
    - net: phylink: avoid resolving link state too early
    - irq/matrix: Split out the CPU selection code into a helper
    - irq/matrix: Spread managed interrupts on allocation
    - genirq/matrix: Improve target CPU selection for managed interrupts
      (Closes: #922182)
    - mac80211: Change default tx_sk_pacing_shift to 7
    - scsi: libsas: Fix rphy phy_identifier for PHYs with end devices attached
    - [arm64] drm/msm: Unblock writer if reader closes file
    - [x86] ASoC: Intel: Haswell/Broadwell: fix setting for .dynamic field
    - [armhf] clk: tegra: dfll: Fix a potential Oop in remove()
    - [x86] thermal: int340x_thermal: Fix a NULL vs IS_ERR() check
    - [arm64, armhf] usb: dwc3: gadget: synchronize_irq dwc irq in suspend
    - [arm64, armhf] usb: dwc3: gadget: Fix the uninitialized link_state when
      udc starts
    - genirq: Make sure the initial affinity is not empty
    - [arm64, armel, x86, armhf] ASoC: dapm: change snprintf to scnprintf for
      possible overflow
    - [x86] drivers: thermal: int340x_thermal: Fix sysfs race condition
    - mac80211: fix miscounting of ttl-dropped frames
    - sched/wait: Fix rcuwait_wake_up() ordering
    - sched/wake_q: Fix wakeup ordering for wake_q
    - futex: Fix (possible) missed wakeup
    - drm/amd/powerplay: OD setting fix on Vega10
    - [armhf] drm/sun4i: hdmi: Fix usage of TMDS clock
    - direct-io: allow direct writes to empty inodes
    - writeback: synchronize sync(2) against cgroup writeback membership
    - scsi: lpfc: nvme: avoid hang / use-after-free when destroying localport
    - scsi: lpfc: nvmet: avoid hang / use-after-free when destroying targetport
    - scsi: csiostor: fix NULL pointer dereference in csio_vport_set_state()
    - [x86] hv_netvsc: Fix ethtool change hash key error
    - [x86] hv_netvsc: Refactor assignments of struct netvsc_device_info
    - [x86] hv_netvsc: Fix hash key value reset after other ops
    - nvme-rdma: fix timeout handler
    - nvme-multipath: drop optimization for static ANA group IDs
    - [arm64] drm/msm: Fix A6XX support for opp-level
    - net: usb: asix: ax88772_bind return error when hw_reset fail
    - net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP
    - [powerpc*] ibmveth: Do not process frames after calling napi_reschedule
    - mac80211: don't initiate TDLS connection if station is not associated to
    - mac80211: Add attribute aligned(2) to struct 'action'
    - cfg80211: extend range deviation for DMG
    - [x86] svm: Fix AVIC incomplete IPI emulation
    - [x86] KVM: nSVM: clear events pending from svm_complete_interrupts() when
      exiting to L1
    - [arm64, armhf] mmc: spi: Fix card detection during probe
    - mmc: core: Fix NULL ptr crash from mmc_should_fail_request
    - [armhf] mmc: sdhci-esdhc-imx: correct the fix of ERR004536
    - mm: enforce min addr even if capable() in expand_downwards()
    - hugetlbfs: fix races and page leaks during migration
    - [mips*] fix truncation in __cmpxchg_small for short values
    - [x86] uaccess: Don't leak the AC flag into __put_user() value evaluation
    - cpufreq: Use struct kobj_attribute instead of struct global_attr
    - staging: erofs: fix mis-acted TAIL merging behavior
    - USB: serial: option: add Telit ME910 ECM composition
    - USB: serial: cp210x: add ID for Ingenico 3070
    - USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485
    - [x86] staging: comedi: ni_660x: fix missing break in switch statement
    - [x86, arm64, armhf] staging: android: ashmem: Don't call fallocate() with
      ashmem_mutex held.
    - [x86, arm64, armhf] staging: android: ashmem: Avoid range_alloc()
      allocation with ashmem_mutex held.
    - ip6mr: Do not call __IP6_INC_STATS() from preemptible context
    - [arm64, armhf] net: dsa: mv88e6xxx: handle unknown duplex modes gracefully
      in mv88e6xxx_port_set_duplex
    - [arm64, armhf] net: dsa: mv88e6xxx: fix number of internal PHYs for
      88E6x90 family
    - net: sched: put back q.qlen into a single location
    - net-sysfs: Fix mem leak in netdev_register_kobject
    - qmi_wwan: Add support for Quectel EG12/EM12
    - sctp: call iov_iter_revert() after sending ABORT
    - sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79
    - team: Free BPF filter when unregistering netdev
    - tipc: fix RDM/DGRAM connect() regression
    - bnxt_en: Drop oversize TX packets to prevent errors.
    - geneve: correctly handle ipv6.disable module parameter
    - [x86] hv_netvsc: Fix IP header checksum for coalesced packets
    - ipv4: Add ICMPv6 support when parse route ipproto
    - lan743x: Fix TX Stall Issue
    - [arm64, armhf] net: dsa: mv88e6xxx: Fix statistics on mv88e6161
    - [arm64, armhf] net: dsa: mv88e6xxx: Fix u64 statistics
    - net: netem: fix skb length BUG_ON in __skb_to_sgvec
    - net: nfc: Fix NULL dereference on nfc_llcp_build_tlv fails
    - net: phy: Micrel KSZ8061: link failure after cable connect
    - [arm64, armhf] net: phy: phylink: fix uninitialized variable in
    - net: sit: fix memory leak in sit_init_net()
    - net: socket: set sock->sk to NULL after calling proto_ops::release()
    - tipc: fix race condition causing hung sendto
    - tun: fix blocking read
    - [x86, arm64, armhf] xen-netback: don't populate the hash cache on XenBus
    - [x86, arm64, armhf] xen-netback: fix occasional leak of grant ref mappings
      under memory pressure
    - tun: remove unnecessary memory barrier
    - net: Add __icmp_send helper.
    - ipv4: Return error for RTA_VIA attribute
    - ipv6: Return error for RTA_VIA attribute
    - mpls: Return error for RTA_GATEWAY attribute
    - ipv4: Pass original device to ip_rcv_finish_core
    - [arm64, armhf] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces
      on 6390X
    - [arm64, armhf] net: dsa: mv88e6xxx: prevent interrupt storm caused by
    - net/sched: act_ipt: fix refcount leak when replace fails
    - net/sched: act_skbedit: fix refcount leak when replace fails
    - net: sched: act_tunnel_key: fix NULL pointer dereference during init
    - [x86] CPU/AMD: Set the CPB bit unconditionally on F17h
    - [x86] boot/compressed/64: Do not read legacy ROM on EFI system
    - tracing: Fix event filters and triggers to handle negative numbers
    - usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on
    - [x86, powerpc*] applicom: Fix potential Spectre v1 vulnerabilities
    - [mips*] irq: Allocate accurate order pages for irq stack
    - aio: Fix locking in aio_poll()
    - xtensa: fix get_wchan
    - gnss: sirf: fix premature wakeup interrupt enable
    - USB: serial: cp210x: fix GPIO in autosuspend
    - Bluetooth: btrtl: Restore old logic to assume firmware is already loaded
    - Bluetooth: Fix locking in bt_accept_enqueue() for BH context
    - exec: Fix mem leak in kernel_read_file (CVE-2019-8980)
    - scsi: core: reset host byte in DID_NEXUS_FAILURE case
    - bpf: fix sanitation rewrite in case of non-pointers

  [ Ben Hutchings ]
  * [sparc64] udeb: Use standard module list in nic-modules; add i2c-modules
    and nic-shared-modules to avoid duplication
  * mt76: Use the correct hweight8() function (fixes FTBFS on ia64)
  * [armel] udeb: Add mmc-core-modules
  * udeb: Make nic-wireless-modules depend on mmc-core-modules, not
    mmc-modules; move crc7 to crc-modules to avoid duplication
  * [powerpc*] udeb: Add i2c-modules, mmc-core-modules, nic-wireless-modules
  * [arm64,armhf] udeb: Add mmc-core-modules to Provides of kernel-image
  * udeb: Add fb-modules and include drm and drm_kms_helper on most
  * udeb: Move basic PV modules from {hyperv,virtio}-modules to kernel-image
  * udeb: Move drivers from {hyperv,virtio}-modules to
  * debian/bin/ Add rules to build debian/build/config.*
  * certs: Replace test signing certificate with production signing certificate
  * debian/bin/ Put all files.json fields under "packages"
  * Bump ABI to 4

  [ Wookey ]
  * linux-perf: Enable coresight trace (libopencsd) support in perf
    (Closes: #895131)

  [ Vagrant Cascadian ]
  * [armhf] Add patch from upstream fixing stability issues when cpufreq
    is enabled on Orange Pi Plus.
  * [armhf] Enable REGULATOR_SY8106A as module.
  * [arm64] Add patch working around A64 timer issues.

  [ dann frazier ]
  * arm64: lockdown: Move init_lockdown() call after uefi_init()

  [ Salvatore Bonaccorso ]
  * Btrfs: fix corruption reading shared and compressed extents after hole
    punching (Closes: #922306)

  [ Vagrant Cascadian ]
  * [arm64] Add patch from v4.20 to enable device-tree for Pine64-LTS.

  [ Romain Perier ]
  * [rt] Update to 4.19.25-rt16:
    - Add zram_slot_trylock() to "drivers/block/zram: Replace bit spinlocks
      with rtmutex for -rt"
    - Refresh "futex: workaround migrate_disable/enable in different context"
    - softirq: Avoid "local_softirq_pending" messages if ksoftirqd is blocked
    - softirq: Avoid "local_softirq_pending" messages if task is in cpu_chill()
    - hrtimer: Don't lose state in cpu_chill()
    - hrtimer: cpu_chill(): save task state in ->saved_state()
    - [x86] lazy-preempt: properly check against preempt-mask
    - [i386] lazy-preempt: use proper return label on 32bit-x86
  * [armel/rpi] Add flavour for Raspberry Pi and Raspberry Pi Zero
  * [armel, armhf] Enable CRASH_DUMP

  [ Marcin Juszkiewicz ]
  * [arm64] udeb: Use generic ata-modules
  * [arm64] udeb: Remove redundant lines from nic-modules

  [ YunQiang Su ]
  * [mips r6] Disable JUMP_LABEL for now: it will cause Reserved Instruction.
    Enable SERIAL_OF_PLATFORM, if not, userland shows nothing.
    Support some boston drivers: IMG_ASCII_LCD, I2C_EG20T, PCH_PHUB, MMC,
  * [mipsel/mips64el] Backport MIPS: Loongson: Introduce and use
parents f0dd1892 b7edf9cc
......@@ -27,6 +27,7 @@ Required properties:
If <manufacturer> is not "atmel", then a fallback must be used
with the same <model> and "atmel" as manufacturer.
# SPDX-License-Identifier: GPL-2.0
NAME = "People's Front"
......@@ -56,15 +56,15 @@
#elif defined(CONFIG_ALPHA_DP264) || \
defined(CONFIG_ALPHA_LYNX) || \
defined(CONFIG_ALPHA_SHARK) || \
# define NR_IRQS 64
#elif defined(CONFIG_ALPHA_TITAN)
#define NR_IRQS 80
#elif defined(CONFIG_ALPHA_RAWHIDE) || \
# define NR_IRQS 128
......@@ -78,7 +78,7 @@ __load_new_mm_context(struct mm_struct *next_mm)
/* Macro for exception fixup code to access integer registers. */
#define dpf_reg(r) \
(((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-16 : \
(r) <= 18 ? (r)+8 : (r)-10])
(r) <= 18 ? (r)+10 : (r)-10])
asmlinkage void
do_page_fault(unsigned long address, unsigned long mmcsr,
......@@ -340,7 +340,7 @@ static inline __attribute__ ((const)) int __fls(unsigned long x)
* __ffs: Similar to ffs, but zero based (0-31)
static inline __attribute__ ((const)) int __ffs(unsigned long word)
static inline __attribute__ ((const)) unsigned long __ffs(unsigned long word)
if (!word)
return word;
......@@ -400,9 +400,9 @@ static inline __attribute__ ((const)) int ffs(unsigned long x)
* __ffs: Similar to ffs, but zero based (0-31)
static inline __attribute__ ((const)) int __ffs(unsigned long x)
static inline __attribute__ ((const)) unsigned long __ffs(unsigned long x)
int n;
unsigned long n;
asm volatile(
" ffs.f %0, %1 \n" /* 0:31; 31(Z) if src 0 */
......@@ -52,6 +52,17 @@
#define cache_line_size() SMP_CACHE_BYTES
* Make sure slab-allocated buffers are 64-bit aligned when atomic64_t uses
* ARCv2 64-bit atomics (LLOCKD/SCONDD). This guarantess runtime 64-bit
* alignment for any atomic64_t embedded in buffer.
* Default ARCH_SLAB_MINALIGN is __alignof__(long long) which has a relaxed
* value of 4 (and not 8) in ARC ABI.
#if defined(CONFIG_ARC_HAS_LL64) && defined(CONFIG_ARC_HAS_LLSC)
extern void arc_cache_init(void);
extern char *arc_cache_mumbojumbo(int cpu_id, char *buf, int len);
extern void read_decode_cache_bcr(void);
......@@ -17,6 +17,7 @@
#include <asm/entry.h>
#include <asm/arcregs.h>
#include <asm/cache.h>
#include <asm/irqflags.h>
......@@ -47,6 +48,15 @@
sr r5, [ARC_REG_DC_CTRL]
; Unaligned access is disabled at reset, so re-enable early as
; gcc 7.3.1 (ARC GNU 2018.03) onwards generates unaligned access
; by default
lr r5, [status32]
bset r5, r5, STATUS_AD_BIT
kflag r5
.section .init.text, "ax",@progbits
......@@ -93,9 +103,9 @@ ENTRY(stext)
; Uboot - kernel ABI
; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2
; r1 = magic number (board identity, unused as of now
; r1 = magic number (always zero as of now)
; r2 = pointer to uboot provided cmdline or external DTB in mem
; These are handled later in setup_arch()
; These are handled later in handle_uboot_args()
st r0, [@uboot_tag]
st r2, [@uboot_arg]
......@@ -449,43 +449,80 @@ void setup_processor(void)
static inline int is_kernel(unsigned long addr)
static inline bool uboot_arg_invalid(unsigned long addr)
if (addr >= (unsigned long)_stext && addr <= (unsigned long)_end)
return 1;
return 0;
* Check that it is a untranslated address (although MMU is not enabled
* yet, it being a high address ensures this is not by fluke)
if (addr < PAGE_OFFSET)
return true;
/* Check that address doesn't clobber resident kernel image */
return addr >= (unsigned long)_stext && addr <= (unsigned long)_end;
void __init setup_arch(char **cmdline_p)
#define IGNORE_ARGS "Ignore U-boot args: "
/* uboot_tag values for U-boot - kernel ABI revision 0; see head.S */
#define UBOOT_TAG_NONE 0
#define UBOOT_TAG_DTB 2
void __init handle_uboot_args(void)
bool use_embedded_dtb = true;
bool append_cmdline = false;
/* make sure that uboot passed pointer to cmdline/dtb is valid */
if (uboot_tag && is_kernel((unsigned long)uboot_arg))
panic("Invalid uboot arg\n");
/* check that we know this tag */
if (uboot_tag != UBOOT_TAG_NONE &&
uboot_tag != UBOOT_TAG_CMDLINE &&
uboot_tag != UBOOT_TAG_DTB) {
pr_warn(IGNORE_ARGS "invalid uboot tag: '%08x'\n", uboot_tag);
goto ignore_uboot_args;
if (uboot_tag != UBOOT_TAG_NONE &&
uboot_arg_invalid((unsigned long)uboot_arg)) {
pr_warn(IGNORE_ARGS "invalid uboot arg: '%px'\n", uboot_arg);
goto ignore_uboot_args;
/* see if U-boot passed an external Device Tree blob */
if (uboot_tag == UBOOT_TAG_DTB) {
machine_desc = setup_machine_fdt((void *)uboot_arg);
/* See if u-boot passed an external Device Tree blob */
machine_desc = setup_machine_fdt(uboot_arg); /* uboot_tag == 2 */
if (!machine_desc)
/* external Device Tree blob is invalid - use embedded one */
use_embedded_dtb = !machine_desc;
if (uboot_tag == UBOOT_TAG_CMDLINE)
append_cmdline = true;
/* No, so try the embedded one */
if (use_embedded_dtb) {
machine_desc = setup_machine_fdt(__dtb_start);
if (!machine_desc)
panic("Embedded DT invalid\n");
* If we are here, it is established that @uboot_arg didn't
* point to DT blob. Instead if u-boot says it is cmdline,
* append to embedded DT cmdline.
* setup_machine_fdt() would have populated @boot_command_line
if (uboot_tag == 1) {
/* Ensure a whitespace between the 2 cmdlines */
strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
strlcat(boot_command_line, uboot_arg,
* NOTE: @boot_command_line is populated by setup_machine_fdt() so this
* append processing can only happen after.
if (append_cmdline) {
/* Ensure a whitespace between the 2 cmdlines */
strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
strlcat(boot_command_line, uboot_arg, COMMAND_LINE_SIZE);
void __init setup_arch(char **cmdline_p)
/* Save unparsed command line copy for /proc/cmdline */
*cmdline_p = boot_command_line;
......@@ -18,6 +18,8 @@
#include <asm/arcregs.h>
#include <asm/irqflags.h>
#define ARC_PATH_MAX 256
* Common routine to print scratch regs (r0-r12) or callee regs (r13-r25)
* -Prints 3 regs per line and a CR.
......@@ -58,11 +60,12 @@ static void show_callee_regs(struct callee_regs *cregs)
print_reg_file(&(cregs->r13), 13);
static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
static void print_task_path_n_nm(struct task_struct *tsk)
char *path_nm = NULL;
struct mm_struct *mm;
struct file *exe_file;
char buf[ARC_PATH_MAX];
mm = get_task_mm(tsk);
if (!mm)
......@@ -72,7 +75,7 @@ static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
if (exe_file) {
path_nm = file_path(exe_file, buf, 255);
path_nm = file_path(exe_file, buf, ARC_PATH_MAX-1);
......@@ -80,10 +83,9 @@ static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
pr_info("Path: %s\n", !IS_ERR(path_nm) ? path_nm : "?");
static void show_faulting_vma(unsigned long address, char *buf)
static void show_faulting_vma(unsigned long address)
struct vm_area_struct *vma;
char *nm = buf;
struct mm_struct *active_mm = current->active_mm;
/* can't use print_vma_addr() yet as it doesn't check for
......@@ -96,8 +98,11 @@ static void show_faulting_vma(unsigned long address, char *buf)
* if the container VMA is not found
if (vma && (vma->vm_start <= address)) {
char buf[ARC_PATH_MAX];
char *nm = "?";
if (vma->vm_file) {
nm = file_path(vma->vm_file, buf, PAGE_SIZE - 1);
nm = file_path(vma->vm_file, buf, ARC_PATH_MAX-1);
if (IS_ERR(nm))
nm = "?";
......@@ -173,13 +178,8 @@ void show_regs(struct pt_regs *regs)
struct task_struct *tsk = current;
struct callee_regs *cregs;
char *buf;
buf = (char *)__get_free_page(GFP_KERNEL);
if (!buf)
print_task_path_n_nm(tsk, buf);
......@@ -189,7 +189,7 @@ void show_regs(struct pt_regs *regs)
(void *)regs->blink, (void *)regs->ret);
if (user_mode(regs))
show_faulting_vma(regs->ret, buf); /* faulting code, not data */
show_faulting_vma(regs->ret); /* faulting code, not data */
pr_info("[STAT32]: 0x%08lx", regs->status32);
......@@ -221,8 +221,6 @@ void show_regs(struct pt_regs *regs)
cregs = (struct callee_regs *)current->thread.callee_reg;
if (cregs)
free_page((unsigned long)buf);
void show_kernel_fault_diag(const char *str, struct pt_regs *regs,
......@@ -13,7 +13,7 @@ chosen {
bootargs = "console=ttyS4,115200 earlyprintk";
memory {
memory@80000000 {
reg = <0x80000000 0x40000000>;
......@@ -13,7 +13,7 @@ chosen {
bootargs = "earlyprintk";
memory {
memory@80000000 {
reg = <0x80000000 0x20000000>;
......@@ -14,7 +14,7 @@ chosen {
bootargs = "console=ttyS4,115200 earlyprintk";
memory {
memory@80000000 {
reg = <0x80000000 0x40000000>;
......@@ -322,4 +322,3 @@ &ibt {
&adc {
status = "okay";
......@@ -17,7 +17,7 @@ chosen {
bootargs = "console=ttyS4,115200 earlyprintk";
memory {
memory@80000000 {
reg = <0x80000000 0x20000000>;
......@@ -94,6 +94,28 @@ vbat: fixedregulator0 {
baseboard_3v3: fixedregulator-3v3 {
/* TPS73701DCQ */
compatible = "regulator-fixed";
regulator-name = "baseboard_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vbat>;
baseboard_1v8: fixedregulator-1v8 {
/* TPS73701DCQ */
compatible = "regulator-fixed";
regulator-name = "baseboard_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vbat>;
backlight_lcd: backlight-regulator {
compatible = "regulator-fixed";
regulator-name = "lcd_backlight_pwr";
......@@ -105,7 +127,7 @@ backlight_lcd: backlight-regulator {
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "DA850/OMAP-L138 EVM";
simple-audio-card,name = "DA850-OMAPL138 EVM";
simple-audio-card,widgets =
"Line", "Line In",
"Line", "Line Out";
......@@ -210,10 +232,9 @@ tlv320aic3106: tlv320aic3106@18 {
/* Regulators */
IOVDD-supply = <&vdcdc2_reg>;
/* Derived from VBAT: Baseboard 3.3V / 1.8V */
AVDD-supply = <&vbat>;
DRVDD-supply = <&vbat>;
DVDD-supply = <&vbat>;
AVDD-supply = <&baseboard_3v3>;
DRVDD-supply = <&baseboard_3v3>;
DVDD-supply = <&baseboard_1v8>;
tca6416: gpio@20 {
compatible = "ti,tca6416";
......@@ -39,9 +39,39 @@ dsp_memory_region: dsp-memory@c3000000 {
vcc_5vd: fixedregulator-vcc_5vd {
compatible = "regulator-fixed";
regulator-name = "vcc_5vd";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vcc_3v3d: fixedregulator-vcc_3v3d {
/* TPS650250 - VDCDC1 */
compatible = "regulator-fixed";
regulator-name = "vcc_3v3d";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc_5vd>;
vcc_1v8d: fixedregulator-vcc_1v8d {
/* TPS650250 - VDCDC2 */
compatible = "regulator-fixed";
regulator-name = "vcc_1v8d";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_5vd>;
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "DA850/OMAP-L138 LCDK";
simple-audio-card,name = "DA850-OMAPL138 LCDK";
simple-audio-card,widgets =
"Line", "Line In",
"Line", "Line Out";
......@@ -221,6 +251,12 @@ tlv320aic3106: tlv320aic3106@18 {
compatible = "ti,tlv320aic3106";
reg = <0x18>;
status = "okay";
/* Regulators */
IOVDD-supply = <&vcc_3v3d>;
AVDD-supply = <&vcc_3v3d>;
DRVDD-supply = <&vcc_3v3d>;
DVDD-supply = <&vcc_1v8d>;
......@@ -476,7 +476,7 @@ i2c1: i2c@228000 {
clocksource: timer@20000 {
compatible = "ti,da830-timer";
reg = <0x20000 0x1000>;
interrupts = <12>, <13>;
interrupts = <21>, <22>;
interrupt-names = "tint12", "tint34";
clocks = <&pll0_auxclk>;
......@@ -274,20 +274,16 @@ partition@0 {
* Between the boot loader and the rootfs is the kernel
* in a custom Storlink format flashed from the boot
* menu. The rootfs is in squashfs format.
* This firmware image contains the kernel catenated
* with the squashfs root filesystem. For some reason
* this is called "upgrade" on the vendor system.
partition@1800c0 {
label = "rootfs";
reg = <0x001800c0 0x01dbff40>;
partition@1f40000 {
partition@40000 {
label = "upgrade";
reg = <0x01f40000 0x00040000>;
reg = <0x00040000 0x01f40000>;
/* RGDB, Residental Gateway Database? */
partition@1f80000 {
label = "rgdb";
reg = <0x01f80000 0x00040000>;
......@@ -477,6 +477,15 @@ &fec {
&gpio1 {
gpio-line-names = "", "", "", "",
"", "", "", "",
"", "hp-amp-shutdown-b", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "";
unused-sd3-wp-gpio {
* See pinctrl_esdhc1 below for more details on this
......@@ -501,9 +510,6 @@ eeprom@50 {
hpa1: amp@60 {
compatible = "ti,tpa6130a2";
reg = <0x60>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ampgpio>;
power-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
Vdd-supply = <&reg_3p3v>;
......@@ -677,7 +683,10 @@ &wdog1 {
&iomuxc {
pinctrl_ampgpio: ampgpiogrp {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog>;
pinctrl_hog: hoggrp {
fsl,pins = <
MX51_PAD_GPIO1_9__GPIO1_9 0x5e
......@@ -36,8 +36,8 @@ gpio_fan {
compatible = "gpio-fan";
pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>;
pinctrl-names = "default";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW
&gpio1 13 GPIO_ACTIVE_LOW>;
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH
&gpio1 13 GPIO_ACTIVE_HIGH>;
gpio-fan,speed-map = <0 0
3000 1
6000 2>;
......@@ -220,12 +220,15 @@ twsi1: i2c@d4011000 {
status = "disabled";
twsi2: i2c@d4025000 {
twsi2: i2c@d4031000 {
compatible = "mrvl,mmp-twsi";
reg = <0xd4025000 0x1000>;
interrupts = <58>;
reg = <0xd4031000 0x1000>;
interrupt-parent = <&intcmux17>;
interrupts = <0>;
clocks = <&soc_clocks MMP2_CLK_TWSI1>;
resets = <&soc_clocks MMP2_CLK_TWSI1>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment