Merge tag 'android11-5.4.259_r00' into android11-5.4

This merges the upstream 5.4.259 LTS release into the android11-5.4
branch.  It contains the following commits:

* 4934e8f7a8 Revert "perf: Disallow mis-matched inherited group reads"
* 231c81bbc8 Revert "xfrm: fix a data-race in xfrm_gen_index()"
* 0ca22be029 Revert "Bluetooth: hci_core: Fix build warnings"
* cf5d98b23e Revert "xfrm: interface: use DEV_STATS_INC()"
*   6b5f21afc2 Merge 5.4.259 into android11-5.4-lts
|\
| * 86ea40e6ad Linux 5.4.259
| * c01ac092d9 xfrm6: fix inet6_dev refcount underflow problem
| * b849a38e18 Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name
| * 4d161e18b1 Bluetooth: hci_sock: fix slab oob read in create_monitor_event
| * a0f0e43128 phy: mapphone-mdm6600: Fix pinctrl_pm handling for sleep pins
| * d1618b9223 phy: mapphone-mdm6600: Fix runtime PM for remove
| * 4db06513a0 phy: mapphone-mdm6600: Fix runtime disable on probe
| * 083ff5b50c ASoC: pxa: fix a memory leak in probe()
| * 27a17a2590 gpio: vf610: set value before the direction to avoid a glitch
| * 664aad86e5 s390/pci: fix iommu bitmap allocation
| * 7252c8b981 perf: Disallow mis-matched inherited group reads
| * 32279bbbd8 USB: serial: option: add Fibocom to DELL custom modem FM101R-GL
| * 1ff2a7fa0c USB: serial: option: add entry for Sierra EM9191 with new firmware
| * eb8f5e40cb USB: serial: option: add Telit LE910C4-WWX 0x1035 composition
| * b43a412aa1 ACPI: irq: Fix incorrect return value in acpi_register_gsi()
| * 3189d2d587 Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()"
| * 690eb3772f mmc: core: Capture correct oemid-bits for eMMC cards
| * 894b678d86 mmc: core: sdio: hold retuning if sdio in 1-bit mode
| * 37ae7c493a mtd: physmap-core: Restore map_rom fallback
| * de28fa5331 mtd: spinand: micron: correct bitmask for ecc status
| * bd68f50684 mtd: rawnand: qcom: Unmap the right resource upon probe failure
| * a787e07755 Bluetooth: hci_event: Fix using memcmp when comparing keys
| * 897d6aee8f HID: multitouch: Add required quirk for Synaptics 0xcd7e device
| * 9cae05233b btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c
| * 693ecef543 drm: panel-orientation-quirks: Add quirk for One Mix 2S
| * 4030effab8 sky2: Make sure there is at least one frag_addr available
| * 340bb4b716 regulator/core: Revert "fix kobject release warning and memory leak in regulator_register()"
| * d7604e819a wifi: cfg80211: avoid leaking stack data into trace
| * 139234011f wifi: mac80211: allow transmitting EAPOL frames with tainted key
| * b48595f5b1 Bluetooth: hci_core: Fix build warnings
| * 16e36cde27 Bluetooth: Avoid redundant authentication
| * fa83d852e9 HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event
| * 981dfec995 tracing: relax trace_event_eval_update() execution with cond_resched()
| * b5d9f34f38 ata: libata-eh: Fix compilation warning in ata_eh_link_report()
| * 392f597ead gpio: timberdale: Fix potential deadlock on &tgpio->lock
| * 91ae08dc30 overlayfs: set ctime when setting mtime and atime
| * 01a4e9bc63 i2c: mux: Avoid potential false error message in i2c_mux_add_adapter
| * 97cb55f41e btrfs: initialize start_slot in btrfs_log_prealloc_extents
| * a055d9d4dd btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to 1
| * d65dbb2aa4 ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone
| * 611c991b9e ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA
| * b2d0649c8e ACPI: resource: Skip IRQ override on ASUS ExpertBook B1502CBA
| * 8c0982fc4b ACPI: resource: Skip IRQ override on Asus Expertbook B2402CBA
| * 0818716a90 ACPI: resource: Add Asus ExpertBook B2502 to Asus quirks
| * c6f7b33586 ACPI: resource: Skip IRQ override on Asus Vivobook S5602ZA
| * b1f5f4720f ACPI: resource: Add ASUS model S5402ZA to quirks
| * fdcd669371 ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA
| * cd202a9f88 ACPI: resources: Add DMI-based legacy IRQ override quirk
| * 26b2bc9bdc ACPI: Drop acpi_dev_irqresource_disabled()
| * 583913b1a6 resource: Add irqresource_disabled()
| * d6878d39b6 net: pktgen: Fix interface flags printing
| * cee9ea14c8 netfilter: nft_set_rbtree: .deactivate fails if element has expired
| * 863acae0b8 neighbor: tracing: Move pin6 inside CONFIG_IPV6=y section
| * f34916502d net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve
| * b1ad377bba i40e: prevent crash on probe if hw registers have invalid values
| * c813d17660 net: usb: smsc95xx: Fix an error code in smsc95xx_reset()
| * 47419f2aef ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr
| * 00a251ea45 tun: prevent negative ifindex
| * 8710dbe09e tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb
| * 1ae2c7d44e tcp: fix excessive TLP and RACK timeouts from HZ rounding
| * eb1a33195a net: rfkill: gpio: prevent value glitch during probe
| * cd44e14573 net: ipv6: fix return value check in esp_remove_trailer
| * 03b88b7d2a net: ipv4: fix return value check in esp_remove_trailer
| * 0cb7b894e4 xfrm: interface: use DEV_STATS_INC()
| * bcacdf4deb xfrm: fix a data-race in xfrm_gen_index()
| * 639e979a7d qed: fix LL2 RX buffer allocation
| * 1cb76fec3e netfilter: nft_payload: fix wrong mac header matching
| * 6b2875b527 KVM: x86: Mask LVTPC when handling a PMI
| * 1d434d8313 regmap: fix NULL deref on lookup
| * 76050b0cc5 nfc: nci: fix possible NULL pointer dereference in send_acknowledge()
| * 80ce32ab9b ice: fix over-shifted variable
| * ec8f0d0fe6 Bluetooth: avoid memcmp() out of bounds warning
| * 1a00e3544b Bluetooth: hci_event: Fix coding style
| * 84598a339b Bluetooth: vhci: Fix race when opening vhci device
| * 1769ac55db Bluetooth: Fix a refcnt underflow problem for hci_conn
| * 97ce8eca07 Bluetooth: Reject connection with the device which has same BD_ADDR
| * 6ce3478336 Bluetooth: hci_event: Ignore NULL link key
| * 6ad3e9fd36 usb: hub: Guard against accesses to uninitialized BOS descriptors
| * 57e83c2445 Documentation: sysctl: align cells in second content column
| * 947cd2fba1 dev_forward_skb: do not scrub skb mark within the same name space
| * 65d34cfd4e ravb: Fix use-after-free issue in ravb_tx_timeout_work()
| * de6e271338 powerpc/64e: Fix wrong test in __ptep_test_and_clear_young()
| * 85ae11da85 powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE
| * 077fdae908 dmaengine: mediatek: Fix deadlock caused by synchronize_irq()
| * 6ea15d9f7a x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs
| * e7ca00f35d usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
| * 1e4414c387 usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
| * 2a433d3255 pinctrl: avoid unsafe code pattern in find_pinctrl()
| * d5b11bd893 cgroup: Remove duplicates in cgroup v1 tasks file
| * 1e59ebed9c Input: xpad - add PXN V900 support
| * 8664fa7fbb Input: psmouse - fix fast_reconnect function for PS/2 mode
| * 5aa514100a Input: powermate - fix use-after-free in powermate_config_complete
| * 3cdce751b0 ceph: fix incorrect revoked caps assert in ceph_fill_file_size()
| * 92cd1635c6 libceph: use kernel_connect()
| * 5704225cdd mcb: remove is_added flag from mcb_device struct
| * 2bf6c93e17 iio: pressure: ms5611: ms5611_prom_is_valid false negative bug
| * 84af249e48 iio: pressure: dps310: Adjust Timeout Settings
| * 00cd9d9c12 iio: pressure: bmp280: Fix NULL pointer exception
| * f4c11b2ea0 usb: musb: Modify the "HWVers" register address
| * fc1ecea726 usb: musb: Get the musb_qh poniter after musb_giveback
| * c0fb0419c1 usb: dwc3: Soft reset phy on probe for host
| * 7efac5b4c2 net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read
| * 57942b0763 usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer
| * e397100846 dmaengine: stm32-mdma: abort resume if no ongoing transfer
| * 3345799c4f workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask()
| * 95733ea130 nfc: nci: assert requested protocol is valid
| * 7adcf014bd net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn()
| * 22ca282ea0 ixgbe: fix crash with empty VF macvlan list
| * 0cc6c070d9 drm/vmwgfx: fix typo of sizeof argument
| * 80a3c00684 xen-netback: use default TX queue size for vifs
| * 332587dc7f mlxsw: fix mlxsw_sp2_nve_vxlan_learning_set() return type
| * 85c2857ef9 ieee802154: ca8210: Fix a potential UAF in ca8210_probe
| * daff72af3f ravb: Fix up dma_free_coherent() call in ravb_remove()
| * d3d2aecc1f drm/msm/dsi: skip the wait for video mode done if not applicable
| * a0c24f802d drm: etvnaviv: fix bad backport leading to warning
| * 907a380eb3 net: prevent address rewrite in kernel_bind()
| * 061a18239c quota: Fix slow quotaoff
| * cd0e2bf7fb HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect
| * 8e39b5fb83 pwm: hibvt: Explicitly set .polarity in .get_state()
| * c4eff809d6 lib/test_meminit: fix off-by-one error in test_pages()
| * ffdd8f56a4 RDMA/cxgb4: Check skb value for failure to allocate
* |   bbe33b72cc Merge changes I407c2796,If3f36646,Ia03ea493,I5f0e742b,Ibe09c3b1, ... into android11-5.4-lts
|\ \
| * | 6eb76db1fc Revert "netfilter: conntrack: allow sctp hearbeat after connection re-use"
| * | 62bde05901 Revert "netfilter: conntrack: don't refresh sctp entries in closed state"
| * | e6f57200f5 Revert "netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp"
| * | e18c011afe Merge 5.4.258 into android11-5.4-lts
| |\|
| | * 02f78c59a0 Linux 5.4.258
| | * f70c285cf0 xen/events: replace evtchn_rwlock with RCU
| | * e2614ab16a ima: rework CONFIG_IMA dependency block
| | * b5c3bc4b81 NFS: Fix a race in __nfs_list_for_each_server()
| | * f0ea421fa2 parisc: Restore __ldcw_align for PA-RISC 2.0 processors
| | * 14e5d94d5c RDMA/mlx5: Fix NULL string error
| | * 6e26812e28 RDMA/siw: Fix connection failure handling
| | * 8ab1fb16dc RDMA/uverbs: Fix typo of sizeof argument
| | * 26d48f7090 RDMA/cma: Fix truncation compilation warning in make_cma_ports
| | * f102dd8a17 gpio: pxa: disable pinctrl calls for MMP_GPIO
| | * e38aceeadb gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config()
| | * 8584ee20a5 IB/mlx4: Fix the size of a buffer in add_port_entries()
| | * 35b689ee4b RDMA/core: Require admin capabilities to set system parameters
| | * 1047ca5bae cpupower: add Makefile dependencies for install targets
| | * 3c2f536c3d sctp: update hb timer immediately after users change hb_interval
| | * caf0c61f14 sctp: update transport state when processing a dupcook packet
| | * 14fc22c929 tcp: fix delayed ACKs for MSS boundary condition
| | * 2791d64e66 tcp: fix quick-ack counting to count actual ACKs of new data
| | * 7fbce1e46b net: stmmac: dwmac-stm32: fix resume on STM32 MCU
| | * f110aa377d netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp
| | * 191d87a19c net: nfc: llcp: Add lock when modifying device list
| | * 310f1c92f6 net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg
| | * 8992055210 net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent
| | * 1fc793d68d ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()
| | * 95eabb075a net: fix possible store tearing in neigh_periodic_work()
| | * 10a301c83a modpost: add missing else to the "of" check
| | * 5e1c1bf53e NFSv4: Fix a nfs4_state_manager() race
| | * f90821f667 NFS: Add a helper nfs_client_for_each_server()
| | * e2d4fc53e9 NFS4: Trace state recovery operation
| | * c87f66c43c scsi: target: core: Fix deadlock due to recursive locking
| | * 8a1fa738b4 ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig
| | * 442e50393a regmap: rbtree: Fix wrong register marked as in-cache when creating new node
| * | 4542148a7e Reapply "netfilter: conntrack: don't refresh sctp entries in closed state"
| * | 7fe1de446b Reapply "netfilter: conntrack: allow sctp hearbeat after connection re-use"
* | |   1891143414 Merge 52008a5e22 ("wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling") into android11-5.4-lts
|\ \ \
| | |/
| |/|
| * | 52008a5e22 wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling
| * | 31b2777690 drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close()
| * | b8e260654a wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet
| * | 1b67be400a wifi: iwlwifi: dbg_ini: fix structure packing
| * | c6d3583876 ubi: Refuse attaching if mtd's erasesize is 0
| * | b4ec10b962 net: prevent rewrite of msg_name in sock_sendmsg()
| * | 53b700b41a net: replace calls to sock->ops->connect() with kernel_connect()
* | | 993e3b2df8 Merge 3c4bfa7a56 ("wifi: mwifiex: Fix tlv_buf_left calculation") into android11-5.4-lts
|\| |
| * | 3c4bfa7a56 wifi: mwifiex: Fix tlv_buf_left calculation
| * | 2e608cede0 qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info
| * | 810248a129 scsi: zfcp: Fix a double put in zfcp_port_enqueue()
| * | e60272ab02 Revert "PCI: qcom: Disable write access to read only registers for IP v2.3.3"
| * | 6e37de4a14 rbd: take header_rwsem in rbd_dev_refresh() only when updating
| * | bc2a304401 rbd: decouple parent info read-in from updating rbd_dev
| * | 2e0114edeb rbd: decouple header read-in from updating rbd_dev->header
| * | 32a59639c5 rbd: move rbd_dev_refresh() definition
* | | 8fb5605ba2 Merge ff10b1fad5 ("fs: binfmt_elf_efpic: fix personality for ELF-FDPIC") into android11-5.4-lts
|\| |
| |/
|/|
| * ff10b1fad5 fs: binfmt_elf_efpic: fix personality for ELF-FDPIC
| * 43e5dc1ee2 ata: libata-sata: increase PMP SRST timeout to 10s
| * ac1aebd4e3 ata: libata-core: Do not register PM operations for SAS ports
| * 9313aab5f6 ata: libata-core: Fix port and device removal
| * 9207666f16 ata: libata-core: Fix ata_port_request_pm() locking
| * d9483f5aec net: thunderbolt: Fix TCPv6 GSO checksum calculation
| * 47062af859 btrfs: properly report 0 avail for very full file systems
* | 8a59cb3011 Reapply "ANDROID: Revert "tracing/ring-buffer: Have polling block on watermark""
* | 574430d8ef Revert "ring-buffer: Update "shortest_full" in polling"
* | 5ca567aeaa Merge cf221a7880 ("ring-buffer: Update "shortest_full" in polling") into android11-5.4-lts
|\|
| * cf221a7880 ring-buffer: Update "shortest_full" in polling
* | fc8b7e30fd Revert "ANDROID: Revert "tracing/ring-buffer: Have polling block on watermark""
* | 74e7ad6a22 Merge ec7b2e7b36 ("i2c: i801: unregister tco_pdev in i801_probe() error path") into android11-5.4-lts
|\|
| * ec7b2e7b36 i2c: i801: unregister tco_pdev in i801_probe() error path
| * a4ecd8562c ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION CODES
| * ec1df5d37d ALSA: hda: Disable power save for solving pop issue on Lenovo ThinkCentre M70q
| * 193b5a1c6c nilfs2: fix potential use after free in nilfs_gccache_submit_read_data()
| * bf3c728e36 serial: 8250_port: Check IRQ data before use
| * 76ffbd900b Smack:- Use overlay inode label in smack_inode_copy_up()
| * 957a9916db smack: Retrieve transmuting information in smack_inode_getsecurity()
| * c9ce9bab23 smack: Record transmuting in smk_transmuted
| * d037d8964f i40e: fix return of uninitialized aq_ret in i40e_set_vsi_promisc
| * 2d78e2d3e3 i40e: always propagate error value in i40e_set_vsi_promisc()
| * 8ed4b5d710 i40e: improve locking of mac_filter_hash
| * 30055e020a watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
| * c54a392fc7 watchdog: iTCO_wdt: No need to stop the timer in probe
| * d68c61092c nvme-pci: do not set the NUMA node of device if it has none
| * 283f24df83 fbdev/sh7760fb: Depend on FB=y
| * ee1f5c63e9 ncsi: Propagate carrier gain/loss events to the NCSI controller
| * b42eac1462 powerpc/watchpoints: Annotate atomic context in more places
| * 723904ce85 bpf: Clarify error expectations from bpf_clone_redirect
| * db4afbc6c1 spi: nxp-fspi: reset the FLSHxCR1 registers
| * 3502dd8031 ata: libata-eh: do not clear ATA_PFLAG_EH_PENDING in ata_eh_reset()
* | 09125ac12e Merge 05264d6551 ("ring-buffer: Avoid softlockup in ring_buffer_resize()") into android11-5.4-lts
|\|
| * 05264d6551 ring-buffer: Avoid softlockup in ring_buffer_resize()
* | 82d0266c8c Merge 1d28224d49 ("selftests/ftrace: Correctly enable event in instance-event.tc") into android11-5.4-lts
|\|
| * 1d28224d49 selftests/ftrace: Correctly enable event in instance-event.tc
| * ded3551163 parisc: irq: Make irq_stack_union static to avoid sparse warning
| * a721e5788a parisc: drivers: Fix sparse warning
| * 2569e0ceff parisc: iosapic.c: Fix sparse warnings
| * f1a0dd9243 parisc: sba: Fix compile warning wrt list of SBA devices
| * 6db9cdfdc3 gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip
| * 4a62d23eba xtensa: boot/lib: fix function prototypes
| * e11fa78a37 xtensa: boot: don't add include-dirs
| * 5ed83a0a39 xtensa: iss/network: make functions static
| * b821e6a8b2 xtensa: add default definition for XCHAL_HAVE_DIV32
| * 49dc6fcd4b bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up
| * 841733189b ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot
| * 3468fa39d8 clk: tegra: fix error return case for recalc_rate
| * 6938a6cbe6 MIPS: Alchemy: only build mmc support helpers if au1xmmc is enabled
| * 5b0d13e2d9 ata: libata: disallow dev-initiated LPM transitions to unsupported states
| * 617a89ff55 drm/amd/display: prevent potential division by zero errors
| * 07b63a3dcf drm/amd/display: Fix LFC multiplier changing erratically
| * 11e3f781f6 drm/amd/display: Reinstate LFC optimization
* | c5c964fd2f Revert "net: bridge: use DEV_STATS_INC()"
* | f69adcec03 Merge a4628a5b98 ("scsi: qla2xxx: Fix deletion race condition") into android11-5.4-lts
|\|
| * a4628a5b98 scsi: qla2xxx: Fix deletion race condition
| * 0a51c838c5 scsi: qla2xxx: Fix update_fcport for current_topology
| * ecdf4c658b Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN
| * 0926a2b7cb i2c: mux: demux-pinctrl: check the return value of devm_kstrdup()
| * e09db461f2 gpio: tb10x: Fix an error handling path in tb10x_gpio_probe()
| * 02a233986c netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP
| * 812da2a08d net: rds: Fix possible NULL-pointer dereference
| * c5f6478686 team: fix null-ptr-deref when team device type is changed
| * ad8d39c7b4 net: bridge: use DEV_STATS_INC()
| * 121a7c474c net: hns3: add 5ms delay before clear firmware reset irq source
| * a6f4d582e2 dccp: fix dccp_v4_err()/dccp_v6_err() again
| * 16b88d7a14 powerpc/perf/hv-24x7: Update domain value check
| * 810fd23d97 ipv4: fix null-deref in ipv4_link_failure
| * 8f228c326d i40e: Fix VF VLAN offloading when port VLAN is configured
| * 8b835db279 i40e: Fix warning message and call stack during rmmod i40e driver
| * 9cbec71a57 i40e: Remove scheduling while atomic possibility
| * 0988fc499f i40e: Fix for persistent lldp support
| * 09475d6476 ASoC: imx-audmix: Fix return error with devm_clk_get()
| * ca1d4e3c4d selftests: tls: swap the TX and RX sockets in some tests
| * b9eb384fd4 selftests/tls: Add {} to avoid static checker warning
| * 40e34ea017 bpf: Avoid deadlock when using queue and stack maps from NMI
| * eec981349b netfilter: nf_tables: disallow element removal on anonymous sets
* | d8ca210978 Merge d2a6844be5 ("ASoC: meson: spdifin: start hw on dai probe") into android11-5.4-lts
|\|
| * d2a6844be5 ASoC: meson: spdifin: start hw on dai probe
| * 0c908e1595 ext4: do not let fstrim block system suspend
| * 4db34feaf2 ext4: move setting of trimmed bit into ext4_try_to_trim_range()
| * 767a50bef2 ext4: replace the traditional ternary conditional operator with with max()/min()
| * 2fd502f53b ext4: mark group as trimmed only if it was fully scanned
| * 635901bdbd ext4: change s_last_trim_minblks type to unsigned long
| * 2d87415158 ext4: scope ret locally in ext4_try_to_trim_range()
| * c71cb46aff ext4: add new helper interface ext4_try_to_trim_range()
| * b0dcbd4bb9 ext4: remove the 'group' parameter of ext4_trim_extent
| * bf06607565 ata: libahci: clear pending interrupt status
| * e6807c873d tracing: Increase trace array ref count on enable and filter files
| * 7d3f6612e9 SUNRPC: Mark the cred for revalidation if the server rejects it
| * 321c75b01c NFS/pNFS: Report EINVAL errors from connect() to the server
* | 432ea675f2 Merge android11-5.4 branch into android11-5.4-lts branch
* | 8a932792da FROMLIST: lib/test_meminit: fix off-by-one error in test_pages()
* | 5000f4d84d Revert "drm/panel: simple: Add missing connector type and pixel format for AUO T215HVN01"
* | 50de6be756 Revert "usb: typec: bus: verify partner exists in typec_altmode_attention"
* | 13c2fe5c0a Revert "fs/nls: make load_nls() take a const parameter"
* | 4d59a2c9b9 Revert "ip_tunnels: use DEV_STATS_INC()"
* | 2b44f56202 Merge 5.4.257 into android11-5.4-lts
|\|
| * a140610d8a Linux 5.4.257
| * 42900fd140 net/sched: Retire rsvp classifier
| * b3637835ac drm/amdgpu: fix amdgpu_cs_p1_user_fence
| * 650ebbba5c mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller
| * b1ef1f2f37 ext4: fix rec_len verify error
| * e4efb0aaf2 scsi: megaraid_sas: Fix deadlock on firmware crashdump
| * 44654114fb i2c: aspeed: Reset the i2c controller when timeout occurs
| * ce47fe53f7 tracefs: Add missing lockdown check to tracefs_create_dir()
| * b6c042d4ac nfsd: fix change_info in NFSv4 RENAME replies
| * 952e477f90 tracing: Have option files inc the trace array ref count
| * ff8cf370d3 tracing: Have current_trace inc the trace array ref count
| * a70c6e5731 btrfs: fix lockdep splat and potential deadlock after failure running delayed items
| * 8e8dcc0f15 attr: block mode changes of symlinks
| * a8403f9fd4 md/raid1: fix error: ISO C90 forbids mixed declarations
| * 349640248b selftests: tracing: Fix to unmount tracefs for recovering environment
| * 5b50c95cf8 btrfs: compare the correct fsid/metadata_uuid in btrfs_validate_super
| * b61aad18b3 btrfs: add a helper to read the superblock metadata_uuid
| * bd0fe54891 btrfs: move btrfs_pinned_by_swapfile prototype into volumes.h
| * a04cce3e79 perf tools: Add an option to build without libbfd
| * f3701ef61f perf jevents: Make build dependency on test JSONs
| * a12e9ba7f3 tools features: Add feature test to check if libbfd has buildid support
| * 964e025cee kobject: Add sanity check for kset->kobj.ktype in kset_register()
| * 545d1070ed media: pci: ipu3-cio2: Initialise timing struct to avoid a compiler warning
| * 44d72e9edd serial: cpm_uart: Avoid suspicious locking
| * 2cbe6a88fb scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
| * 9cd6b3802d usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc
| * abe0cd279a media: pci: cx23885: replace BUG with error return
| * 641e602239 media: tuners: qt1010: replace BUG_ON with a regular error
| * 991c77fe18 media: az6007: Fix null-ptr-deref in az6007_i2c_xfer()
| * 8dc5b37025 media: anysee: fix null-ptr-deref in anysee_master_xfer
| * 0c02eb70b1 media: af9005: Fix null-ptr-deref in af9005_i2c_xfer
| * beb9550494 media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()
| * b49c6e5dd2 media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer
| * 7ffe14fce7 powerpc/pseries: fix possible memory leak in ibmebus_bus_init()
| * 5873df0195 jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount
| * b12ccbfdf6 fs/jfs: prevent double-free in dbUnmount() after failed jfs_remount()
| * a7fde3d46a ext2: fix datatype of block number in ext2_xattr_set2()
| * 25a68f2286 md: raid1: fix potential OOB in raid1_remove_disk()
| * 77918680ab bus: ti-sysc: Configure uart quirks for k3 SoC
| * 279e32b79d drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable()
| * 3beb97bed8 wifi: mac80211_hwsim: drop short frames
| * 6773ea9982 alx: fix OOB-read compiler warning
| * fd1a177d2c mmc: sdhci-esdhc-imx: improve ESDHC_FLAG_ERR010450
| * ff75c853b7 tpm_tis: Resend command to recover from data transfer errors
| * 61f5453e97 crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui()
| * d1473fc030 wifi: mwifiex: fix fortify warning
| * 38eb4ef67f wifi: ath9k: fix printk specifier
| * 93f4a0b744 devlink: remove reload failed checks in params get/set callbacks
| * aadb178c51 hw_breakpoint: fix single-stepping when using bpf_overflow_handler
| * cb37e7fa23 perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
| * 4de282f491 ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470
| * d0a13c395e kernel/fork: beware of __put_task_struct() calling context
| * 3bf4463e40 ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer
| * 117fb80cd1 locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock
| * 7afbfde45d btrfs: output extra debug info if we failed to find an inline backref
| * 6079dc77c6 autofs: fix memory leak of waitqueues in autofs_catatonic_mode
| * 8c027a5798 parisc: Drop loops_per_jiffy from per_cpu struct
| * 4316b82945 drm/amd/display: Fix a bug when searching for insert_above_mpcc
| * 1ce8362b4a kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg().
| * b5fc6fd660 ixgbe: fix timestamp configuration code
| * f9f3ce7719 net/tls: do not free tls_rec on async operation in bpf_exec_tx_verdict()
| * 08d36f317c platform/mellanox: mlxbf-tmfifo: Drop jumbo frames
| * 0507815ae9 mlxbf-tmfifo: sparse tags for config access
| * 7efc9e97f6 platform/mellanox: mlxbf-tmfifo: Drop the Rx packet if no more descriptors
| * 479c71cda1 kcm: Fix memory leak in error path of kcm_sendmsg()
| * c565533407 r8152: check budget for r8152_poll()
| * 653fbddbdf net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_hwlro_get_fdir_all()
| * ba6673824e net: ethernet: mvpp2_main: fix possible OOB write in mvpp2_ethtool_get_rxnfc()
| * 5624f26a35 net: ipv4: fix one memleak in __inet_del_ifa()
| * e757ca9c1c clk: imx8mm: Move 1443X/1416X PLL clock structure to common place
| * 75e0bd9761 ARM: dts: BCM5301X: Extend RAM to full 256MB for Linksys EA6500 V2
| * 5f71716772 usb: typec: bus: verify partner exists in typec_altmode_attention
| * 14fe0f8627 usb: typec: tcpm: Refactor tcpm_handle_vdm_request
| * 979f8743f3 usb: typec: tcpm: Refactor tcpm_handle_vdm_request payload handling
| * 6ca8e31480 perf tools: Handle old data in PERF_RECORD_ATTR
| * dffa46d0ca perf hists browser: Fix hierarchy mode header
| * 6095dd2821 mtd: rawnand: brcmnand: Fix potential false time out warning
| * aae45746f4 mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write
| * 09417fbf12 mtd: rawnand: brcmnand: Fix crash during the panic_write
| * aa64f6f0ce btrfs: use the correct superblock to compare fsid in btrfs_validate_super
| * 6eb1fc314c btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART
| * b0d236e3af fuse: nlookup missing decrement in fuse_direntplus_link
| * 0e918d7c00 ata: pata_ftide010: Add missing MODULE_DESCRIPTION
| * e03ac17734 ata: sata_gemini: Add missing MODULE_DESCRIPTION
| * 118db787ba sh: boards: Fix CEU buffer size passed to dma_declare_coherent_memory()
| * 89099d73b2 net: hns3: fix the port information display when sfp is absent
| * a44602888b netfilter: nfnetlink_osf: avoid OOB read
| * 62c363e604 ip_tunnels: use DEV_STATS_INC()
| * a5dffc1203 idr: fix param name in idr_alloc_cyclic() doc
| * 6b0cb9c055 s390/zcrypt: don't leak memory if dev_set_name() fails
| * c149b61301 igb: Change IGB_MIN to allow set rx/tx value between 64 and 80
| * 4a5defbfe8 igbvf: Change IGBVF_MIN to allow set rx/tx value between 64 and 80
| * c805b87414 igc: Change IGC_MIN to allow set rx/tx value between 64 and 80
| * 8047a48984 kcm: Destroy mutex in kcm_exit_net()
| * a6d11571b9 net: sched: sch_qfq: Fix UAF in qfq_dequeue()
| * f1ba9a03b1 af_unix: Fix data race around sk->sk_err.
| * 1ffed3ea87 af_unix: Fix data-races around sk->sk_shutdown.
| * 5d91b7891f af_unix: Fix data-race around unix_tot_inflight.
| * adcf4e0693 af_unix: Fix data-races around user->unix_inflight.
| * e13db62db9 net: ipv6/addrconf: avoid integer underflow in ipv6_create_tempaddr
| * 23b4b1a069 veth: Fixing transmit return status for dropped packets
| * 0133bc2897 igb: disable virtualization features on 82580
| * 41f10a4d78 net: read sk->sk_family once in sk_mc_loop()
| * cd12efc54f ipv4: annotate data-races around fi->fib_dead
| * 01585fa326 sctp: annotate data-races around sk->sk_wmem_queued
| * 04301da4d8 pwm: lpc32xx: Remove handling of PWM channels
| * 565f7bb0b3 watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load
| * 7a0e41223e perf top: Don't pass an ERR_PTR() directly to perf_session__delete()
| * c5be10f1bf x86/virt: Drop unnecessary check on extended CPUID level in cpu_has_svm()
| * 1d0cc1a9c4 perf annotate bpf: Don't enclose non-debug code with an assert()
| * c7cc4dc247 kconfig: fix possible buffer overflow
| * 0158dab8e8 NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info
| * 64c5e916fa soc: qcom: qmi_encdec: Restrict string length in decode
| * 5c7608d976 clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock
| * b88626c472 parisc: led: Reduce CPU overhead for disk & lan LED computation
| * 536f309225 parisc: led: Fix LAN receive and transmit LEDs
| * cbfffe5122 lib/test_meminit: allocate pages up to order MAX_ORDER
| * 9b7f6e5009 drm/ast: Fix DRAM init on AST2200
| * 8ffa40ff64 fbdev/ep93xx-fb: Do not assign to struct fb_info.dev
| * 6d5eb57a02 scsi: qla2xxx: Remove unsupported ql2xenabledif option
| * e24bc58113 scsi: qla2xxx: Turn off noisy message log
| * 05935f9106 scsi: qla2xxx: Fix erroneous link up failure
| * 61641000ad scsi: qla2xxx: fix inconsistent TMF timeout
| * f966dc8c2d net/ipv6: SKB symmetric hash should incorporate transport ports
| * d31331e2df drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create
| * 34eb4bd915 udf: initialize newblock to 0
| * 206d2b7baf usb: typec: tcpci: clear the fault status bit
| * 8244218681 serial: sc16is7xx: fix broken port 0 uart init
| * 159bc8c6b5 sc16is7xx: Set iobase to device index
| * 355ac79584 cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug
| * 5e7d0acc69 crypto: stm32 - fix loop iterating through scatterlist for DMA
| * 306e356d58 s390/ipl: add missing secure/has_secure file to ipl type 'unknown'
| * e972231db2 pstore/ram: Check start of empty przs during init
| * b6c9d04019 fsverity: skip PKCS#7 parser when keyring is empty
| * 712491c9ab net: handle ARPHRD_PPP in dev_is_mac_header_xmit()
| * 15b3727108 X.509: if signature is unsupported skip validation
| * 7a7dd70cb9 dccp: Fix out of bounds access in DCCP error handler
| * 1c675c937c dlm: fix plock lookup when using multiple lockspaces
| * 8cd1c5cec6 parisc: Fix /proc/cpuinfo output for lscpu
| * 0337bb53cb procfs: block chmod on /proc/thread-self/comm
| * 2e1f12ce0d Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"
| * eb1fa4819d ntb: Fix calculation ntb_transport_tx_free_entry()
| * b2a6a169c2 ntb: Clean up tx tail index on link down
| * 94491412a2 ntb: Drop packets when qp link is down
| * ff3bb51e21 media: dvb: symbol fixup for dvb_attach()
| * b047ac1528 xtensa: PMU: fix base address for the newer hardware
| * 2791a2a69a backlight/lv5207lp: Compare against struct fb_info.device
| * bc86f29e12 backlight/bd6107: Compare against struct fb_info.device
| * 3dd8ff5695 backlight/gpio_backlight: Compare against struct fb_info.device
| * c2e1ce4fa4 ARM: OMAP2+: Fix -Warray-bounds warning in _pwrdm_state_switch()
| * f53ab5a2bf ipmi_si: fix a memleak in try_smi_init()
| * e7f97980f7 ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
| * 29811f4b82 PM / devfreq: Fix leak in devfreq_dev_release()
| * c2ad60ed38 igb: set max size RX buffer when store bad packet is enabled
| * d44403ec06 skbuff: skb_segment, Call zero copy functions before using skbuff frags
| * 64831fb6a2 netfilter: xt_sctp: validate the flag_info count
| * 28ce8495b5 netfilter: xt_u32: validate user space input
| * 109e830585 netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
| * 3d54e99499 igmp: limit igmpv3_newpack() packet size to IP_MAX_MTU
| * ec6ad9d99e virtio_ring: fix avail_wrap_counter in virtqueue_add_packed
| * 12fcca2ee4 cpufreq: Fix the race condition while updating the transition_task of policy
| * fe5dd39501 dmaengine: ste_dma40: Add missing IRQ check in d40_probe
| * e0f2d85ea3 um: Fix hostaudio build errors
| * 88d508faf3 mtd: rawnand: fsmc: handle clk prepare error in fsmc_nand_resume()
| * efa7f31669 rpmsg: glink: Add check for kstrdup
| * d2473df751 phy/rockchip: inno-hdmi: do not power on rk3328 post pll on reg write
| * f36a06988c phy/rockchip: inno-hdmi: round fractal pixclock in rk3328 recalc_rate
| * b0d5d77b14 phy/rockchip: inno-hdmi: use correct vco_div_5 macro on rk3328
| * 90e037cabc tracing: Fix race issue between cpu buffer write and swap
| * ac78921ec2 x86/speculation: Mark all Skylake CPUs as vulnerable to GDS
| * df7ca43fe0 HID: multitouch: Correct devm device reference for hidinput input_dev name
| * cf48a7ba5c HID: logitech-dj: Fix error handling in logi_dj_recv_switch_to_dj_mode()
| * 011daffb53 RDMA/siw: Correct wrong debug message
| * 35a78898cd RDMA/siw: Balance the reference of cep->kref in the error path
| * 9b6296861a Revert "IB/isert: Fix incorrect release of isert connection"
| * 03db4fe791 amba: bus: fix refcount leak
| * 93a4aefa57 serial: tegra: handle clk prepare error in tegra_uart_hw_init()
| * d2bf25674c scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock
| * b1e3199bad scsi: core: Use 32-bit hostnum in scsi_host_lookup()
| * 103b41e972 media: ov2680: Fix regulators being left enabled on ov2680_power_on() errors
| * 009b1202a0 media: ov2680: Fix vflip / hflip set functions
| * 560624cf1d media: ov2680: Fix ov2680_bayer_order()
| * 218b60bc06 media: ov2680: Remove auto-gain and auto-exposure controls
| * 768d4d230c media: i2c: ov2680: Set V4L2_CTRL_FLAG_MODIFY_LAYOUT on flips
| * c04ae531ee media: ov5640: Enable MIPI interface in ov5640_set_power_mipi()
| * 916219c523 media: i2c: ov5640: Configure HVP lines in s_power callback
| * 93c518d286 USB: gadget: f_mass_storage: Fix unused variable warning
| * 0d8c677098 media: go7007: Remove redundant if statement
| * 38269b9ec8 iommu/vt-d: Fix to flush cache of PASID directory table
| * a94aaffe92 IB/uverbs: Fix an potential error pointer dereference
| * c3a6798538 driver core: test_async: fix an error code
| * 27a218419c dma-buf/sync_file: Fix docs syntax
| * c9e6c1fefc coresight: tmc: Explicit type conversions to prevent integer overflow
| * 463934ca5d scsi: qedf: Do not touch __user pointer in qedf_dbg_fp_int_cmd_read() directly
| * 668ce8d508 scsi: qedf: Do not touch __user pointer in qedf_dbg_debug_cmd_read() directly
| * 06a2dde58f scsi: qedf: Do not touch __user pointer in qedf_dbg_stop_io_on_error_cmd_read() directly
| * e26d521286 x86/APM: drop the duplicate APM_MINOR_DEV macro
| * c65be6ad55 serial: sprd: Fix DMA buffer leak issue
| * 730d1b7ec9 serial: sprd: Assign sprd_port after initialized to avoid wrong access
| * dff8066579 serial: sprd: remove redundant sprd_port cleanup
| * a7d80271a1 serial: sprd: getting port index via serial aliases only
| * 47f3be62ea scsi: qla4xxx: Add length check when parsing nlattrs
| * bc66e701ca scsi: be2iscsi: Add length check when parsing nlattrs
| * 161d4509dd scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param()
| * bc4fbf2dab usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()
| * de4345fe43 media: mediatek: vcodec: Return NULL if no vdec_fb is found
| * 02c0ea731f media: cx24120: Add retval check for cx24120_message_send()
| * 75d6ef197c media: dvb-usb: m920x: Fix a potential memory leak in m920x_i2c_xfer()
| * 74697b4176 media: dib7000p: Fix potential division by zero
| * afd90d353f drivers: usb: smsusb: fix error handling code in smsusb_init_device
| * 4bc5ffaf8a media: v4l2-core: Fix a potential resource leak in v4l2_fwnode_parse_link()
| * 008b334af8 media: v4l2-fwnode: simplify v4l2_fwnode_parse_link
| * 064e156e9f media: v4l2-fwnode: fix v4l2_fwnode_parse_link handling
| * 7a9619e38c NFS: Guard against READDIR loop when entry names exceed MAXNAMELEN
| * 16282aeca4 NFSD: da_addr_body field missing in some GETDEVICEINFO replies
| * 93a14ab675 fs: lockd: avoid possible wrong NULL parameter
| * d3351799be jfs: validate max amount of blocks before allocation.
| * 65bf8a196b powerpc/iommu: Fix notifiers being shared by PCI and VIO buses
| * 650803f93d nfs/blocklayout: Use the passed in gfp flags
| * 68ba08ab40 wifi: ath10k: Use RMW accessors for changing LNKCTL
| * ab28c56192 drm/radeon: Use RMW accessors for changing LNKCTL
| * d835a13232 drm/radeon: Prefer pcie_capability_read_word()
| * 06c0c15ab0 drm/radeon: Replace numbers with PCI_EXP_LNKCTL2 definitions
| * 30e633dbcd drm/radeon: Correct Transmit Margin masks
| * 108ce391d6 drm/amdgpu: Use RMW accessors for changing LNKCTL
| * 7085f1aab1 drm/amdgpu: Prefer pcie_capability_read_word()
| * 62a1c1bd45 drm/amdgpu: Replace numbers with PCI_EXP_LNKCTL2 definitions
| * adf810206c drm/amdgpu: Correct Transmit Margin masks
| * 7f9129b66c PCI: Add #defines for Enter Compliance, Transmit Margin
| * 81d1de3b97 powerpc/fadump: reset dump area size if fadump memory reserve fails
| * 7159a27b1a clk: imx: composite-8m: fix clock pauses when set_rate would be a no-op
| * 044ff5356a PCI/ASPM: Use RMW accessors for changing LNKCTL
| * 73d73556ed PCI: pciehp: Use RMW accessors for changing LNKCTL
| * e7e3268ae9 PCI: Mark NVIDIA T4 GPUs to avoid bus reset
| * a611e38d5b clk: sunxi-ng: Modify mismatched function name
| * 9ad9cca12b drivers: clk: keystone: Fix parameter judgment in _of_pll_clk_init()
| * de677f4379 ipmi:ssif: Fix a memory leak when scanning for an adapter
| * ef0d286989 ipmi:ssif: Add check for kstrdup
| * 90fddb8789 ALSA: ac97: Fix possible error value of *rac97
| * 0b1e48e4dc of: unittest: Fix overlay type in apply/revert check
| * 0a6f39488c drm/mediatek: Fix potential memory leak if vmap() fail
| * f6364fa751 audit: fix possible soft lockup in __audit_inode_child()
| * 43f0c2bb16 smackfs: Prevent underflow in smk_set_cipso()
| * b8a61df6f4 drm/msm/mdp5: Don't leak some plane state
| * 1f3d0e65d1 ima: Remove deprecated IMA_TRUSTED_KEYRING Kconfig
| * dbdc828991 drm/panel: simple: Add missing connector type and pixel format for AUO T215HVN01
| * 4db0a85cf8 drm/armada: Fix off-by-one error in armada_overlay_get_property()
| * dadf0d0dfc of: unittest: fix null pointer dereferencing in of_unittest_find_node_by_name()
| * def1fd88ae drm/tegra: dpaux: Fix incorrect return value of platform_get_irq
| * c1ff601e1a drm/tegra: Remove superfluous error messages around platform_get_irq()
| * 1603f08620 md/md-bitmap: hold 'reconfig_mutex' in backlog_store()
| * 630be0110e md/bitmap: don't set max_write_behind if there is no write mostly device
| * a8f8c4e728 drm/amdgpu: Update min() to min_t() in 'amdgpu_info_ioctl'
| * c6b423ab65 arm64: dts: qcom: sdm845: Add missing RPMh power domain to GCC
| * 69d9fb3948 ARM: dts: BCM53573: Fix Ethernet info for Luxul devices
| * e6fc20a542 drm: adv7511: Fix low refresh rate register for ADV7533/5
| * 88d32b9ad2 ARM: dts: samsung: s5pv210-smdkv210: correct ethernet reg addresses (split)
| * dfe36c23ab ARM: dts: s5pv210: add dummy 5V regulator for backlight on SMDKv210
| * febead0030 ARM: dts: s5pv210: correct ethernet unit address in SMDKV210
| * 00b3f8004b ARM: dts: s5pv210: use defines for IRQ flags in SMDKV210
| * 9dff1deb25 ARM: dts: s5pv210: add RTC 32 KHz clock in SMDKV210
| * df9929c61c ARM: dts: samsung: s3c6410-mini6410: correct ethernet reg addresses (split)
| * c20456c2cd ARM: dts: s3c64xx: align pinctrl with dtschema
| * a355d140eb ARM: dts: s3c6410: align node SROM bus node name with dtschema in Mini6410
| * e5deee40fa ARM: dts: s3c6410: move fixed clocks under root node in Mini6410
| * d38b67da15 drm/etnaviv: fix dumping of active MMU context
| * 5b8c8527a2 ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
| * 5680c01363 ARM: dts: BCM53573: Add cells sizes to PCIe node
| * 17a5848bdc ARM: dts: BCM53573: Drop nonexistent "default-off" LED trigger
| * c01cbe6c03 drm/amdgpu: avoid integer overflow warning in amdgpu_device_resize_fb_bar()
| * d40c192e11 quota: fix dqput() to follow the guarantees dquot_srcu should provide
| * dd918952b1 quota: add new helper dquot_active()
| * 88c0cdfe10 quota: rename dquot_active() to inode_quota_active()
| * 29d7249bb6 quota: factor out dquot_write_dquot()
| * f2f64c2951 quota: avoid increasing DQST_LOOKUPS when iterating over dirty/inuse list
| * 1e4f7ce32a drm/bridge: tc358764: Fix debug print parameter order
| * 835f0a848a netrom: Deny concurrent connect().
| * da13749d5f net/sched: sch_hfsc: Ensure inner classes have fsc curve
| * 83382eafc7 mlxsw: i2c: Limit single transaction buffer size
| * b2d7f0f313 mlxsw: i2c: Fix chunk size setting in output mailbox buffer
| * 400ef5f79c net: arcnet: Do not call kfree_skb() under local_irq_disable()
| * f306bbdce6 wifi: ath9k: use IS_ERR() with debugfs_create_dir()
| * 231086e6a3 wifi: mwifiex: avoid possible NULL skb pointer dereference
| * 5f6f00bcf9 wifi: ath9k: protect WMI command response buffer replacement with a lock
| * ff703b5f3f wifi: ath9k: fix races between ath9k_wmi_cmd and ath9k_wmi_ctrl_rx
| * df1753eae7 wifi: mwifiex: Fix missed return in oob checks failed path
| * 8f717752f9 wifi: mwifiex: fix memory leak in mwifiex_histogram_read()
| * ab4810042c fs: ocfs2: namei: check return value of ocfs2_add_entry()
| * dbe64279ae lwt: Check LWTUNNEL_XMIT_CONTINUE strictly
| * 67f8f2bae8 lwt: Fix return values of BPF xmit ops
| * 12bf7d9cc6 hwrng: iproc-rng200 - Implement suspend and resume calls
| * 4f1ca8e397 hwrng: iproc-rng200 - use semicolons rather than commas to separate statements
| * 6c015ebce1 crypto: caam - fix unchecked return value error
| * ec348676c7 Bluetooth: nokia: fix value check in nokia_bluetooth_serdev_probe()
| * 0ce06035ea crypto: stm32 - Properly handle pm_runtime_get failing
| * 34de9f1d63 wifi: mwifiex: fix error recovery in PCIE buffer descriptor management
| * 87f8c54423 mwifiex: switch from 'pci_' to 'dma_' API
| * 29eca8b786 wifi: mwifiex: Fix OOB and integer underflow when rx packets
| * 042aeb45e4 can: gs_usb: gs_usb_receive_bulk_callback(): count RX overflow errors also in case of OOM
| * 516f21f210 spi: tegra20-sflash: fix to check return value of platform_get_irq() in tegra_sflash_probe()
| * 4fb6fcc04a regmap: rbtree: Use alloc_flags for memory allocations
| * 57935355dc tcp: tcp_enter_quickack_mode() should be static
| * 75b8b5b529 bpf: Clear the probe_addr for uprobe
| * a0fa690894 cpufreq: powernow-k8: Use related_cpus instead of cpus in driver.exit()
| * 991b7c2604 perf/imx_ddr: don't enable counter0 if none of 4 counters are used
| * 07415be140 x86/decompressor: Don't rely on upper 32 bits of GPRs being preserved
| * 6dbac48ea3 x86/boot: Annotate local functions
| * c418814fae x86/asm: Make more symbols local
| * 3eb241e47d OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
| * 5d3975e36c tmpfs: verify {g,u}id mount options correctly
| * 48c54877ce fs: Fix error checking for d_hash_and_lookup()
| * 0c8c205381 new helper: lookup_positive_unlocked()
| * 0a2b1eb8a9 eventfd: prevent underflow for eventfd semaphores
| * 3e9617d63e eventfd: Export eventfd_ctx_do_read()
| * f59ff66698 reiserfs: Check the return value from __getblk()
| * e74903b5fb Revert "net: macsec: preserve ingress frame ordering"
| * b36c4a731a udf: Handle error when adding extent to a file
| * 7648ea9896 udf: Check consistency of Space Bitmap Descriptor
| * 3e2265cda1 powerpc/32s: Fix assembler warning about r0
| * aea73dde71 net: Avoid address overwrite in kernel_connect
| * d7d42f1142 platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
| * 6614af25e1 ALSA: seq: oss: Fix racy open/close of MIDI devices
| * 601dc776a0 scsi: storvsc: Always set no_report_opcodes
| * 107f5cad23 cifs: add a warning when the in-flight count goes negative
| * f31618e4fc sctp: handle invalid error codes without calling BUG()
| * 8d7395d0ea bnx2x: fix page fault following EEH recovery
| * c1ce2f0957 netlabel: fix shift wrapping bug in netlbl_catmap_setlong()
| * 499eb477f7 scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock
| * d0189e40c2 idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM
| * 617d1d0e17 net: usb: qmi_wwan: add Quectel EM05GV2
| * 5d2481bc92 clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM
| * 3899c1d158 security: keys: perform capable check only on privileged operations
| * 97ed1be29b platform/x86: huawei-wmi: Silence ambient light sensor
| * 762c352dfc platform/x86: intel: hid: Always call BTNL ACPI method
| * 0e3f0e5597 ASoC: atmel: Fix the 8K sample parameter in I2SC master
| * 0b718d1d57 ASoc: codecs: ES8316: Fix DMIC config
| * b796adfc98 fs/nls: make load_nls() take a const parameter
| * 35a9b057bf s390/dasd: fix hanging device after request requeue
| * d7768b33d0 s390/dasd: use correct number of retries for ERP requests
| * a21ff228f0 m68k: Fix invalid .section syntax
| * 4dfc0d1eda vxlan: generalize vxlan_parse_gpe_hdr and remove unused args
| * d65c5ef975 ethernet: atheros: fix return value check in atl1c_tso_csum()
| * ea95a01114 ASoC: da7219: Check for failure reading AAD IRQ events
| * 216953c3de ASoC: da7219: Flush pending AAD IRQ when suspending
| * b6f827c3f8 9p: virtio: make sure 'offs' is initialized in zc_request
| * b6fefef07d pinctrl: amd: Don't show `Invalid config param` errors
| * 99a73016a5 nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
| * 724474dfaa nilfs2: fix general protection fault in nilfs_lookup_dirty_data_buffers()
| * efe8244ba9 fsi: master-ast-cf: Add MODULE_FIRMWARE macro
| * 6b701dab19 firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
| * bee7f3a494 serial: sc16is7xx: fix bug when first setting GPIO direction
| * a6650d27ab Bluetooth: btsdio: fix use after free bug in btsdio_remove due to race condition
| * 5876cae6d6 staging: rtl8712: fix race condition
| * a17c6efa14 HID: wacom: remove the battery when the EKR is off
| * e4f5ad7b53 USB: serial: option: add FOXCONN T99W368/T99W373 product
| * 837f6647b2 USB: serial: option: add Quectel EM05G variant (0x030e)
| * 1d24328048 modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
| * 6938ef59e3 rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff
| * 0e0914f9a8 net: enetc: use EXPORT_SYMBOL_GPL for enetc_phc_index
| * 6b39bd898b mmc: au1xmmc: force non-modular build and remove symbol_get usage
| * 7a67c5d932 ARM: pxa: remove use of symbol_get()
| * e83f5d13cb erofs: ensure that the post-EOF tails are all zeroed
* | ab08e05dca Merge 5.4.256 into android11-5.4-lts
|\|
| * 0c2544add9 Linux 5.4.256
| * 1ba96e65ef Revert "MIPS: Alchemy: fix dbdma2"
| * 94aef0fe5a powerpc/pmac/smp: Drop unnecessary volatile qualifier
| * b29a10fd07 powerpc/pmac/smp: Avoid unused-variable warnings
* | 1becc9d04d Revert "drm/display/dp: Fix the DP DSC Receiver cap size"
* | 201ea79b6f Revert "macsec: Fix traffic counters/statistics"
* | bcdfbf8d8d Revert "macsec: use DEV_STATS_INC()"
* | 8e2d221d14 ANDROID: GKI: add back pm_runtime_get_if_in_use()
* | 933d3af2e3 Revert "interconnect: Add helpers for enabling/disabling a path"
* | 9caf727a6d Revert "interconnect: Do not skip aggregation for disabled paths"
* | 1abd0630e0 Revert "ALSA: pcm: Set per-card upper limit of PCM buffer allocations"
* | c648a16974 Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available"
* | bd7fae9e3e Revert "ALSA: pcm: Fix potential data race at PCM memory allocation helpers"
* | cebc239dda Revert "ALSA: pcm: Fix build error on m68k and others"
* | 639cd43433 Revert "Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available""
* | 3a3afa870a Revert "ALSA: pcm: Check for null pointer of pointer substream before dereferencing it"
* | ef75d6901c Merge 5.4.255 into android11-5.4-stable
|/
* 5eb967dd50 Linux 5.4.255
* e171795856 dma-buf/sw_sync: Avoid recursive lock during fence signal
* f49cac7634 pinctrl: renesas: rza2: Add lock around pinctrl_generic{{add,remove}_group,{add,remove}_function}
* 197c546a59 clk: Fix undefined reference to `clk_rate_exclusive_{get,put}'
* 7fd9cded56 scsi: core: raid_class: Remove raid_component_add()
* 56428d89a0 scsi: snic: Fix double free in snic_tgt_create()
* b6db4ef5ea irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
* 61b5d77169 Documentation/sysctl: document page_lock_unfairness
* b2421a196c ALSA: pcm: Check for null pointer of pointer substream before dereferencing it
* e8bf830efa interconnect: Do not skip aggregation for disabled paths
* 456a7a7340 Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available"
* 52a7c86e63 ALSA: pcm: Fix build error on m68k and others
* a1ef12540e rtnetlink: Reject negative ifindexes in RTM_NEWLINK
* c404e1e197 mm: allow a controlled amount of unfairness in the page lock
* 97640d8e2c x86/fpu: Set X86_FEATURE_OSXSAVE feature after enabling OSXSAVE in CR4
* b156ce3b3b drm/display/dp: Fix the DP DSC Receiver cap size
* 9e5fe282f9 PCI: acpiphp: Use pci_assign_unassigned_bridge_resources() only for non-root bus
* ac0e0df518 media: vcodec: Fix potential array out-of-bounds in encoder queue_setup
* 79a05ca736 radix tree: remove unused variable
* 32639f1344 lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels
* c5f261825f batman-adv: Hold rtnl lock during MTU update via netlink
* 61b71562be batman-adv: Fix batadv_v_ogm_aggr_send memory leak
* 5fb1a21337 batman-adv: Fix TT global entry leak when client roamed back
* e6e9d78081 batman-adv: Do not get eth header before batadv_check_management_packet
* c97442e098 batman-adv: Don't increase MTU when set by user
* 22288ea6be batman-adv: Trigger events for auto adjusted MTU
* 3b83759fd4 nfsd: Fix race to FREE_STATEID and cl_revoked
* c0284760f4 clk: Fix slab-out-of-bounds error in devm_clk_release()
* a0bc5cf2e7 NFSv4: Fix dropped lock for racing OPEN and delegation return
* 815fb2531a ibmveth: Use dcbf rather than dcbfl
* 35e31aff61 bonding: fix macvlan over alb bond support
* faf3f988cc net: remove bond_slave_has_mac_rcu()
* eebd074af2 net/sched: fix a qdisc modification with ambiguous command request
* 62383d9fa1 igb: Avoid starting unnecessary workqueues
* adef04cc48 net: validate veth and vxcan peer ifindexes
* 52ddda8d21 net: bcmgenet: Fix return value check for fixed_phy_register()
* 189ad377d1 net: bgmac: Fix return value check for fixed_phy_register()
* dcbfcb54a2 ipvlan: Fix a reference count leak warning in ipvlan_ns_exit()
* 8e6433fecb dccp: annotate data-races in dccp_poll()
* 7d6cc69199 sock: annotate data-races around prot->memory_pressure
* d28ea7acfa octeontx2-af: SDP: fix receive link config
* 05319d7077 tracing: Fix memleak due to race between current_tracer and trace
* c8920972d0 drm/amd/display: check TG is non-null before checking if enabled
* 7d4174a99b drm/amd/display: do not wait for mpc idle if tg is disabled
* 94239d1830 ASoC: fsl_sai: Disable bit clock with transmitter
* ef9cae4a6c ASoC: fsl_sai: Add new added registers and new bit definition
* 1b3d751045 ASoC: fsl_sai: Refine enable/disable TE/RE sequence in trigger()
* f9afb326b7 regmap: Account for register length in SMBus I/O limits
* 7e1d1456c8 ALSA: pcm: Fix potential data race at PCM memory allocation helpers
* 140797d0a4 ALSA: pcm: Use SG-buffer only when direct DMA is available
* 95b30a4312 ALSA: pcm: Set per-card upper limit of PCM buffer allocations
* d0ef103e19 dm integrity: reduce vmalloc space footprint on 32-bit architectures
* 072d247d7a dm integrity: increase RECALC_SECTORS to improve recalculate speed
* 4e96ee1175 fbdev: fix potential OOB read in fast_imageblit()
* ebf84320a5 fbdev: Fix sys_imageblit() for arbitrary image widths
* 96f8e80656 fbdev: Improve performance of sys_imageblit()
* 7e5b7360df MIPS: cpu-features: Use boot_cpu_type for CPU type based features
* 302a8fbf8c MIPS: cpu-features: Enable octeon_cache by cpu_type
* 7b57fc3f4c fs: dlm: fix mismatch of plock results from userspace
* 721d5b514d fs: dlm: use dlm_plock_info for do_unlock_close
* da794f6dd5 fs: dlm: change plock interrupted message to debug again
* f03726ef19 fs: dlm: add pid to debug log
* 8b73497e50 dlm: replace usage of found with dedicated list iterator variable
* 526cc04d71 dlm: improve plock logging if interrupted
* 7abd6dce29 PCI: acpiphp: Reassign resources on bridge if necessary
* fce0815552 net: phy: broadcom: stub c45 read/write for 54810
* e91d5ace70 mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove
* a0e20e267a net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
* f0c10a4497 net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled
* b1be2cfcf6 virtio-net: set queues after driver_ok
* 4821df2ffe af_unix: Fix null-ptr-deref in unix_stream_sendpage().
* 0afc186aba netfilter: set default timeout to 3 secs for sctp shutdown send and recv state
* 6875690b0e mmc: block: Fix in_flight[issue_type] value error
* 54deee3fab mmc: wbsd: fix double mmc_free_host() in wbsd_init()
* 4259dd5342 cifs: Release folio lock on fscache read hit.
* 0337341024 ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces.
* b653289ca6 serial: 8250: Fix oops for port->pm on uart_change_pm()
* 7b4e6bff03 ASoC: meson: axg-tdm-formatter: fix channel slot allocation
* 29d862ee5f ASoC: rt5665: add missed regulator_bulk_disable
* f21fa1892d ARM: dts: imx: Set default tuning step for imx6sx usdhc
* aadee0ae0a ARM: dts: imx: Set default tuning step for imx7d usdhc
* a23e10dafd ARM: dts: imx: Adjust dma-apbh node name
* 536c1bbedd ARM: dts: imx7s: Drop dma-apb interrupt-names
* 37cfbf847c bus: ti-sysc: Flush posted write on enable before reset
* 4637b2fa65 bus: ti-sysc: Improve reset to work with modules with no sysconfig
* 210ff31342 net: do not allow gso_size to be set to GSO_BY_FRAGS
* 1c7db7abd4 sock: Fix misuse of sk_under_memory_pressure()
* aa670bdefc net: dsa: mv88e6xxx: Wait for EEPROM done before HW reset
* 702c58a05e i40e: fix misleading debug logs
* ac16de2d02 team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
* 81da9e2c42 netfilter: nft_dynset: disallow object maps
* bdd7c2ff41 ipvs: fix racy memcpy in proc_do_sync_threshold
* 38e5c37bfa selftests: mirror_gre_changes: Tighten up the TTL test match
* 8046beb890 xfrm: add NULL check in xfrm_update_ae_params
* d34c30442d ip_vti: fix potential slab-use-after-free in decode_session6
* eb47e612e5 ip6_vti: fix slab-use-after-free in decode_session6
* db0e50741f xfrm: fix slab-use-after-free in decode_session6
* 64c6df80d3 xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
* 32cc777c0a net: af_key: fix sadb_x_filter validation
* 373848d51f net: xfrm: Fix xfrm_address_filter OOB read
* a0a462a0f2 btrfs: fix BUG_ON condition in btrfs_cancel_balance
* cc423a972c tty: serial: fsl_lpuart: Clear the error flags by writing 1 for lpuart32 platforms
* 1d29e21ed0 powerpc/rtas_flash: allow user copy to flash block cache objects
* 97ddf1c210 fbdev: mmp: fix value check in mmphw_probe()
* 3259e2d878 i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue
* b788ad3b24 virtio-mmio: don't break lifecycle of vm_dev
* e22a4b77b6 virtio-mmio: Use to_virtio_mmio_device() to simply code
* 432429d1b2 virtio-mmio: convert to devm_platform_ioremap_resource
* 12c4c22789 nfsd: Remove incorrect check in nfsd4_validate_stateid
* a4e3c4cd02 nfsd4: kill warnings on testing stateids with mismatched clientids
* ff652b0150 net/ncsi: Fix gma flag setting after response
* b66a1defb2 tracing/probes: Fix to update dynamic data counter if fetcharg uses it
* bdc309d89b tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs
* cc93a372e0 leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
* 939b8b312a mmc: sunxi: fix deferred probing
* c6d1a281ae mmc: bcm2835: fix deferred probing
* b48b4b1885 USB: dwc3: qcom: fix NULL-deref on suspend
* 6da1f9fd9c usb: dwc3: qcom: Add helper functions to enable,disable wake irqs
* 5335bb0cef interconnect: Add helpers for enabling/disabling a path
* e062fb9794 interconnect: Move internal structs into a separate file
* abc25a18a6 irqchip/mips-gic: Use raw spinlock for gic_lock
* 05de6069b5 irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
* 1224e5a978 ALSA: hda: Fix unhandled register update during auto-suspend period
* a55d55a307 PM: runtime: Add pm_runtime_get_if_active()
* e5d98d42bc PM-runtime: add tracepoints for usage_count changes
* 59aba9d5cd iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE
* 8f302378c7 iio: addac: stx104: Fix race condition when converting analog-to-digital
* 7251b2915d iio: addac: stx104: Fix race condition for stx104_write_raw()
* 70d135e7de iio: stx104: Move to addac subdirectory
* 8ba99f7fc7 iio: adc: stx104: Implement and utilize register structures
* 4edf338ade iio: adc: stx104: Utilize iomap interface
* e13b26d0dd iio: add addac subdirectory
* e6f66a0ad7 IMA: allow/fix UML builds
* 635278e97a powerpc/kasan: Disable KCOV in KASAN code
* 109f0aaa0b ALSA: hda: fix a possible null-pointer dereference due to data race in snd_hdac_regmap_sync()
* 97ed584377 ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760
* c6059af6bf drm/amdgpu: Fix potential fence use-after-free v2
* fe49aa73cc Bluetooth: L2CAP: Fix use-after-free
* 22100df1d5 pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()
* b4a7ab57ef gfs2: Fix possible data races in gfs2_show_options()
* c4d5c945b6 usb: chipidea: imx: don't request QoS for imx8ulp
* c1c5826223 media: platform: mediatek: vpu: fix NULL ptr dereference
* ef009fe201 media: v4l2-mem2mem: add lock to protect parameter num_rdy
* 2a8807f9f5 FS: JFS: Check for read-only mounted filesystem in txBegin
* a7d17d6bd7 FS: JFS: Fix null-ptr-deref Read in txBegin
* 2225000d62 MIPS: dec: prom: Address -Warray-bounds warning
* 6e7d9d76e5 fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
* 3f1368af47 udf: Fix uninitialized array access for some pathnames
* 8f203dd401 ovl: check type and offset of struct vfsmount in ovl_entry
* 8abed186aa HID: add quirk for 03f0:464a HP Elite Presenter Mouse
* 3f378783c4 quota: fix warning in dqgrab()
* c3a1f5ba11 quota: Properly disable quotas when add_dquot_ref() fails
* dd445ebbee ALSA: emu10k1: roll up loops in DSP setup code for Audigy
* b8fab6aebd drm/radeon: Fix integer overflow in radeon_cs_parser_init
* 3a3bb438da macsec: use DEV_STATS_INC()
* b5e20a3dde macsec: Fix traffic counters/statistics
* 4b854879f8 selftests: forwarding: tc_flower: Relax success criterion
* e5883ffdd0 mmc: sdhci-f-sdh30: Replace with sdhci_pltfm
* e7bd70c3bc mmc: sdhci_f_sdh30: convert to devm_platform_ioremap_resource

Change-Id: I43c3bfbea90dd70354856472a720f46b1a43c148
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman 2023-10-30 16:33:04 +00:00
commit b40f1a5d2f
777 changed files with 6226 additions and 3928 deletions

View file

@ -31,18 +31,18 @@ see only some of them, depending on your kernel's configuration.
Table : Subdirectories in /proc/sys/net
========= =================== = ========== ==================
========= =================== = ========== ===================
Directory Content Directory Content
========= =================== = ========== ==================
802 E802 protocol mptcp Multipath TCP
appletalk Appletalk protocol netfilter Network Filter
========= =================== = ========== ===================
802 E802 protocol mptcp Multipath TCP
appletalk Appletalk protocol netfilter Network Filter
ax25 AX25 netrom NET/ROM
bridge Bridging rose X.25 PLP layer
core General parameter tipc TIPC
ethernet Ethernet protocol unix Unix domain sockets
ipv4 IP version 4 x25 X.25 protocol
bridge Bridging rose X.25 PLP layer
core General parameter tipc TIPC
ethernet Ethernet protocol unix Unix domain sockets
ipv4 IP version 4 x25 X.25 protocol
ipv6 IP version 6
========= =================== = ========== ==================
========= =================== = ========== ===================
1. /proc/sys/net/core - Network core options
============================================

View file

@ -62,6 +62,7 @@ Currently, these files are in /proc/sys/vm:
- overcommit_memory
- overcommit_ratio
- page-cluster
- page_lock_unfairness
- panic_on_oom
- percpu_pagelist_fraction
- stat_interval
@ -757,6 +758,14 @@ extra faults and I/O delays for following faults if they would have been part of
that consecutive pages readahead would have brought in.
page_lock_unfairness
====================
This value determines the number of times that the page lock can be
stolen from under a waiter. After the lock is stolen the number of times
specified in this file (default is 5), the "fair lock handoff" semantics
will apply, and the waiter will only be awakened if the lock can be taken.
panic_on_oom
============

View file

@ -134,6 +134,9 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+
| Hisilicon | Hip08 SMMU PMCG | #162001800 | N/A |
+----------------+-----------------+-----------------+-----------------------------+
| Hisilicon | Hip08 SMMU PMCG | #162001900 | N/A |
| | Hip09 SMMU PMCG | | |
+----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+
| Qualcomm Tech. | Kryo/Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 |
+----------------+-----------------+-----------------+-----------------------------+

View file

@ -382,6 +382,12 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
nonzero, increment the counter and return 1; otherwise return 0 without
changing the counter
`int pm_runtime_get_if_active(struct device *dev, bool ign_usage_count);`
- return -EINVAL if 'power.disable_depth' is nonzero; otherwise, if the
runtime PM status is RPM_ACTIVE, and either ign_usage_count is true
or the device's usage_count is non-zero, increment the counter and
return 1; otherwise return 0 without changing the counter
`void pm_runtime_put_noidle(struct device *dev);`
- decrement the device's usage counter

View file

@ -1101,7 +1101,7 @@ APEX EMBEDDED SYSTEMS STX104 IIO DRIVER
M: William Breathitt Gray <vilhelm.gray@gmail.com>
L: linux-iio@vger.kernel.org
S: Maintained
F: drivers/iio/adc/stx104.c
F: drivers/iio/addac/stx104.c
APM DRIVER
M: Jiri Kosina <jikos@kernel.org>

View file

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 254
SUBLEVEL = 259
EXTRAVERSION =
NAME = Kleptomaniac Octopus

View file

@ -19,7 +19,8 @@
memory@0 {
device_type = "memory";
reg = <0x00000000 0x08000000>;
reg = <0x00000000 0x08000000>,
<0x88000000 0x08000000>;
};
gpio-keys {

View file

@ -26,7 +26,6 @@
wlan {
label = "bcm53xx:blue:wlan";
gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
linux,default-trigger = "default-off";
};
system {
@ -46,3 +45,16 @@
};
};
};
&gmac0 {
phy-mode = "rgmii";
phy-handle = <&bcm54210e>;
mdio {
/delete-node/ switch@1e;
bcm54210e: ethernet-phy@0 {
reg = <0>;
};
};
};

View file

@ -26,7 +26,6 @@
5ghz {
label = "bcm53xx:blue:5ghz";
gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-off";
};
system {
@ -42,7 +41,6 @@
2ghz {
label = "bcm53xx:blue:2ghz";
gpios = <&pcie0_chipcommon 3 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-off";
};
};
@ -83,3 +81,16 @@
};
};
};
&gmac0 {
phy-mode = "rgmii";
phy-handle = <&bcm54210e>;
mdio {
/delete-node/ switch@1e;
bcm54210e: ethernet-phy@0 {
reg = <0>;
};
};
};

View file

@ -127,6 +127,9 @@
pcie0: pcie@2000 {
reg = <0x00002000 0x1000>;
#address-cells = <3>;
#size-cells = <2>;
};
usb2: usb2@4000 {

View file

@ -60,9 +60,9 @@
spi {
compatible = "spi-gpio";
num-chipselects = <1>;
gpio-sck = <&chipcommon 21 0>;
gpio-miso = <&chipcommon 22 0>;
gpio-mosi = <&chipcommon 23 0>;
sck-gpios = <&chipcommon 21 0>;
miso-gpios = <&chipcommon 22 0>;
mosi-gpios = <&chipcommon 23 0>;
cs-gpios = <&chipcommon 24 0>;
#address-cells = <1>;
#size-cells = <0>;

View file

@ -59,7 +59,7 @@
reg = <0x80000000 0x2000>;
};
dma_apbh: dma-apbh@80004000 {
dma_apbh: dma-controller@80004000 {
compatible = "fsl,imx23-dma-apbh";
reg = <0x80004000 0x2000>;
interrupts = <0 14 20 0

View file

@ -78,7 +78,7 @@
status = "disabled";
};
dma_apbh: dma-apbh@80004000 {
dma_apbh: dma-controller@80004000 {
compatible = "fsl,imx28-dma-apbh";
reg = <0x80004000 0x2000>;
interrupts = <82 83 84 85

View file

@ -160,7 +160,7 @@
interrupt-parent = <&gpc>;
ranges;
dma_apbh: dma-apbh@110000 {
dma_apbh: dma-controller@110000 {
compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
reg = <0x00110000 0x2000>;
interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,

View file

@ -211,7 +211,7 @@
power-domains = <&pd_pu>;
};
dma_apbh: dma-apbh@1804000 {
dma_apbh: dma-controller@1804000 {
compatible = "fsl,imx6sx-dma-apbh", "fsl,imx28-dma-apbh";
reg = <0x01804000 0x2000>;
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
@ -958,6 +958,8 @@
<&clks IMX6SX_CLK_USDHC1>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
fsl,tuning-start-tap = <20>;
fsl,tuning-step= <2>;
status = "disabled";
};
@ -970,6 +972,8 @@
<&clks IMX6SX_CLK_USDHC2>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
fsl,tuning-start-tap = <20>;
fsl,tuning-step= <2>;
status = "disabled";
};
@ -982,6 +986,8 @@
<&clks IMX6SX_CLK_USDHC3>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
fsl,tuning-start-tap = <20>;
fsl,tuning-step= <2>;
status = "disabled";
};

View file

@ -174,7 +174,7 @@
<0x00a06000 0x2000>;
};
dma_apbh: dma-apbh@1804000 {
dma_apbh: dma-controller@1804000 {
compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
reg = <0x01804000 0x2000>;
interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>,

View file

@ -1133,6 +1133,8 @@
<&clks IMX7D_USDHC1_ROOT_CLK>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
fsl,tuning-step = <2>;
fsl,tuning-start-tap = <20>;
status = "disabled";
};
@ -1145,6 +1147,8 @@
<&clks IMX7D_USDHC2_ROOT_CLK>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
fsl,tuning-step = <2>;
fsl,tuning-start-tap = <20>;
status = "disabled";
};
@ -1157,6 +1161,8 @@
<&clks IMX7D_USDHC3_ROOT_CLK>;
clock-names = "ipg", "ahb", "per";
bus-width = <4>;
fsl,tuning-step = <2>;
fsl,tuning-start-tap = <20>;
status = "disabled";
};
@ -1192,14 +1198,13 @@
};
};
dma_apbh: dma-apbh@33000000 {
dma_apbh: dma-controller@33000000 {
compatible = "fsl,imx7d-dma-apbh", "fsl,imx28-dma-apbh";
reg = <0x33000000 0x2000>;
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
#dma-cells = <1>;
dma-channels = <4>;
clocks = <&clks IMX7D_NAND_USDHC_BUS_RAWNAND_CLK>;

View file

@ -656,12 +656,12 @@
/* Configure pwm clock source for timers 8 & 9 */
&timer8 {
assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>;
assigned-clock-parents = <&sys_clkin_ck>;
assigned-clock-parents = <&sys_32k_ck>;
};
&timer9 {
assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>;
assigned-clock-parents = <&sys_clkin_ck>;
assigned-clock-parents = <&sys_32k_ck>;
};
/*
@ -678,6 +678,7 @@
&uart3 {
interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
&omap4_pmx_core 0x17c>;
overrun-throttle-ms = <500>;
};
&uart4 {

View file

@ -28,29 +28,21 @@
bootargs = "console=ttySAC0,115200n8 earlyprintk rootwait root=/dev/mmcblk0p1";
};
clocks {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
fin_pll: oscillator@0 {
compatible = "fixed-clock";
reg = <0>;
clock-frequency = <12000000>;
clock-output-names = "fin_pll";
#clock-cells = <0>;
};
xusbxti: oscillator@1 {
compatible = "fixed-clock";
reg = <1>;
clock-output-names = "xusbxti";
clock-frequency = <48000000>;
#clock-cells = <0>;
};
fin_pll: oscillator-0 {
compatible = "fixed-clock";
clock-frequency = <12000000>;
clock-output-names = "fin_pll";
#clock-cells = <0>;
};
srom-cs1@18000000 {
xusbxti: oscillator-1 {
compatible = "fixed-clock";
clock-output-names = "xusbxti";
clock-frequency = <48000000>;
#clock-cells = <0>;
};
srom-cs1-bus@18000000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
@ -59,7 +51,7 @@
ethernet@18000000 {
compatible = "davicom,dm9000";
reg = <0x18000000 0x2 0x18000004 0x2>;
reg = <0x18000000 0x2>, <0x18000004 0x2>;
interrupt-parent = <&gpn>;
interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
davicom,no-eeprom;
@ -201,12 +193,12 @@
};
&pinctrl0 {
gpio_leds: gpio-leds {
gpio_leds: gpio-leds-pins {
samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
gpio_keys: gpio-keys {
gpio_keys: gpio-keys-pins {
samsung,pins = "gpn-0", "gpn-1", "gpn-2", "gpn-3",
"gpn-4", "gpn-5", "gpl-11", "gpl-12";
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;

View file

@ -16,111 +16,111 @@
* Pin banks
*/
gpa: gpa {
gpa: gpa-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpb: gpb {
gpb: gpb-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpc: gpc {
gpc: gpc-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpd: gpd {
gpd: gpd-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpe: gpe {
gpe: gpe-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
};
gpf: gpf {
gpf: gpf-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpg: gpg {
gpg: gpg-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gph: gph {
gph: gph-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpi: gpi {
gpi: gpi-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
};
gpj: gpj {
gpj: gpj-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
};
gpk: gpk {
gpk: gpk-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
};
gpl: gpl {
gpl: gpl-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpm: gpm {
gpm: gpm-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpn: gpn {
gpn: gpn-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpo: gpo {
gpo: gpo-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpp: gpp {
gpp: gpp-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
gpq: gpq {
gpq: gpq-gpio-bank {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
@ -131,225 +131,225 @@
* Pin groups
*/
uart0_data: uart0-data {
uart0_data: uart0-data-pins {
samsung,pins = "gpa-0", "gpa-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
uart0_fctl: uart0-fctl {
uart0_fctl: uart0-fctl-pins {
samsung,pins = "gpa-2", "gpa-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
uart1_data: uart1-data {
uart1_data: uart1-data-pins {
samsung,pins = "gpa-4", "gpa-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
uart1_fctl: uart1-fctl {
uart1_fctl: uart1-fctl-pins {
samsung,pins = "gpa-6", "gpa-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
uart2_data: uart2-data {
uart2_data: uart2-data-pins {
samsung,pins = "gpb-0", "gpb-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
uart3_data: uart3-data {
uart3_data: uart3-data-pins {
samsung,pins = "gpb-2", "gpb-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
ext_dma_0: ext-dma-0 {
ext_dma_0: ext-dma-0-pins {
samsung,pins = "gpb-0", "gpb-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
ext_dma_1: ext-dma-1 {
ext_dma_1: ext-dma-1-pins {
samsung,pins = "gpb-2", "gpb-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
irda_data_0: irda-data-0 {
irda_data_0: irda-data-0-pins {
samsung,pins = "gpb-0", "gpb-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
irda_data_1: irda-data-1 {
irda_data_1: irda-data-1-pins {
samsung,pins = "gpb-2", "gpb-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
irda_sdbw: irda-sdbw {
irda_sdbw: irda-sdbw-pins {
samsung,pins = "gpb-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2c0_bus: i2c0-bus {
i2c0_bus: i2c0-bus-pins {
samsung,pins = "gpb-5", "gpb-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
};
i2c1_bus: i2c1-bus {
i2c1_bus: i2c1-bus-pins {
/* S3C6410-only */
samsung,pins = "gpb-2", "gpb-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_6>;
samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
};
spi0_bus: spi0-bus {
spi0_bus: spi0-bus-pins {
samsung,pins = "gpc-0", "gpc-1", "gpc-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
};
spi0_cs: spi0-cs {
spi0_cs: spi0-cs-pins {
samsung,pins = "gpc-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
spi1_bus: spi1-bus {
spi1_bus: spi1-bus-pins {
samsung,pins = "gpc-4", "gpc-5", "gpc-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
};
spi1_cs: spi1-cs {
spi1_cs: spi1-cs-pins {
samsung,pins = "gpc-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd0_cmd: sd0-cmd {
sd0_cmd: sd0-cmd-pins {
samsung,pins = "gpg-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd0_clk: sd0-clk {
sd0_clk: sd0-clk-pins {
samsung,pins = "gpg-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd0_bus1: sd0-bus1 {
sd0_bus1: sd0-bus1-pins {
samsung,pins = "gpg-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd0_bus4: sd0-bus4 {
sd0_bus4: sd0-bus4-pins {
samsung,pins = "gpg-2", "gpg-3", "gpg-4", "gpg-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd0_cd: sd0-cd {
sd0_cd: sd0-cd-pins {
samsung,pins = "gpg-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
};
sd1_cmd: sd1-cmd {
sd1_cmd: sd1-cmd-pins {
samsung,pins = "gph-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd1_clk: sd1-clk {
sd1_clk: sd1-clk-pins {
samsung,pins = "gph-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd1_bus1: sd1-bus1 {
sd1_bus1: sd1-bus1-pins {
samsung,pins = "gph-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd1_bus4: sd1-bus4 {
sd1_bus4: sd1-bus4-pins {
samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd1_bus8: sd1-bus8 {
sd1_bus8: sd1-bus8-pins {
samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5",
"gph-6", "gph-7", "gph-8", "gph-9";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd1_cd: sd1-cd {
sd1_cd: sd1-cd-pins {
samsung,pins = "gpg-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
};
sd2_cmd: sd2-cmd {
sd2_cmd: sd2-cmd-pins {
samsung,pins = "gpc-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd2_clk: sd2-clk {
sd2_clk: sd2-clk-pins {
samsung,pins = "gpc-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd2_bus1: sd2-bus1 {
sd2_bus1: sd2-bus1-pins {
samsung,pins = "gph-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
sd2_bus4: sd2-bus4 {
sd2_bus4: sd2-bus4-pins {
samsung,pins = "gph-6", "gph-7", "gph-8", "gph-9";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2s0_bus: i2s0-bus {
i2s0_bus: i2s0-bus-pins {
samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2s0_cdclk: i2s0-cdclk {
i2s0_cdclk: i2s0-cdclk-pins {
samsung,pins = "gpd-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2s1_bus: i2s1-bus {
i2s1_bus: i2s1-bus-pins {
samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2s1_cdclk: i2s1-cdclk {
i2s1_cdclk: i2s1-cdclk-pins {
samsung,pins = "gpe-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2s2_bus: i2s2-bus {
i2s2_bus: i2s2-bus-pins {
/* S3C6410-only */
samsung,pins = "gpc-4", "gpc-5", "gpc-6", "gph-6",
"gph-8", "gph-9";
@ -357,50 +357,50 @@
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
i2s2_cdclk: i2s2-cdclk {
i2s2_cdclk: i2s2-cdclk-pins {
/* S3C6410-only */
samsung,pins = "gph-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_5>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pcm0_bus: pcm0-bus {
pcm0_bus: pcm0-bus-pins {
samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pcm0_extclk: pcm0-extclk {
pcm0_extclk: pcm0-extclk-pins {
samsung,pins = "gpd-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pcm1_bus: pcm1-bus {
pcm1_bus: pcm1-bus-pins {
samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pcm1_extclk: pcm1-extclk {
pcm1_extclk: pcm1-extclk-pins {
samsung,pins = "gpe-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
ac97_bus_0: ac97-bus-0 {
ac97_bus_0: ac97-bus-0-pins {
samsung,pins = "gpd-0", "gpd-1", "gpd-2", "gpd-3", "gpd-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
ac97_bus_1: ac97-bus-1 {
ac97_bus_1: ac97-bus-1-pins {
samsung,pins = "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
cam_port: cam-port {
cam_port: cam-port-pins {
samsung,pins = "gpf-0", "gpf-1", "gpf-2", "gpf-4",
"gpf-5", "gpf-6", "gpf-7", "gpf-8",
"gpf-9", "gpf-10", "gpf-11", "gpf-12";
@ -408,242 +408,242 @@
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
cam_rst: cam-rst {
cam_rst: cam-rst-pins {
samsung,pins = "gpf-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
cam_field: cam-field {
cam_field: cam-field-pins {
/* S3C6410-only */
samsung,pins = "gpb-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pwm_extclk: pwm-extclk {
pwm_extclk: pwm-extclk-pins {
samsung,pins = "gpf-13";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pwm0_out: pwm0-out {
pwm0_out: pwm0-out-pins {
samsung,pins = "gpf-14";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
pwm1_out: pwm1-out {
pwm1_out: pwm1-out-pins {
samsung,pins = "gpf-15";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
clkout0: clkout-0 {
clkout0: clkout-0-pins {
samsung,pins = "gpf-14";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col0_0: keypad-col0-0 {
keypad_col0_0: keypad-col0-0-pins {
samsung,pins = "gph-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col1_0: keypad-col1-0 {
keypad_col1_0: keypad-col1-0-pins {
samsung,pins = "gph-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col2_0: keypad-col2-0 {
keypad_col2_0: keypad-col2-0-pins {
samsung,pins = "gph-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col3_0: keypad-col3-0 {
keypad_col3_0: keypad-col3-0-pins {
samsung,pins = "gph-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col4_0: keypad-col4-0 {
keypad_col4_0: keypad-col4-0-pins {
samsung,pins = "gph-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col5_0: keypad-col5-0 {
keypad_col5_0: keypad-col5-0-pins {
samsung,pins = "gph-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col6_0: keypad-col6-0 {
keypad_col6_0: keypad-col6-0-pins {
samsung,pins = "gph-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col7_0: keypad-col7-0 {
keypad_col7_0: keypad-col7-0-pins {
samsung,pins = "gph-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col0_1: keypad-col0-1 {
keypad_col0_1: keypad-col0-1-pins {
samsung,pins = "gpl-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col1_1: keypad-col1-1 {
keypad_col1_1: keypad-col1-1-pins {
samsung,pins = "gpl-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col2_1: keypad-col2-1 {
keypad_col2_1: keypad-col2-1-pins {
samsung,pins = "gpl-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col3_1: keypad-col3-1 {
keypad_col3_1: keypad-col3-1-pins {
samsung,pins = "gpl-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col4_1: keypad-col4-1 {
keypad_col4_1: keypad-col4-1-pins {
samsung,pins = "gpl-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col5_1: keypad-col5-1 {
keypad_col5_1: keypad-col5-1-pins {
samsung,pins = "gpl-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col6_1: keypad-col6-1 {
keypad_col6_1: keypad-col6-1-pins {
samsung,pins = "gpl-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_col7_1: keypad-col7-1 {
keypad_col7_1: keypad-col7-1-pins {
samsung,pins = "gpl-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row0_0: keypad-row0-0 {
keypad_row0_0: keypad-row0-0-pins {
samsung,pins = "gpk-8";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row1_0: keypad-row1-0 {
keypad_row1_0: keypad-row1-0-pins {
samsung,pins = "gpk-9";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row2_0: keypad-row2-0 {
keypad_row2_0: keypad-row2-0-pins {
samsung,pins = "gpk-10";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row3_0: keypad-row3-0 {
keypad_row3_0: keypad-row3-0-pins {
samsung,pins = "gpk-11";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row4_0: keypad-row4-0 {
keypad_row4_0: keypad-row4-0-pins {
samsung,pins = "gpk-12";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row5_0: keypad-row5-0 {
keypad_row5_0: keypad-row5-0-pins {
samsung,pins = "gpk-13";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row6_0: keypad-row6-0 {
keypad_row6_0: keypad-row6-0-pins {
samsung,pins = "gpk-14";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row7_0: keypad-row7-0 {
keypad_row7_0: keypad-row7-0-pins {
samsung,pins = "gpk-15";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row0_1: keypad-row0-1 {
keypad_row0_1: keypad-row0-1-pins {
samsung,pins = "gpn-0";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row1_1: keypad-row1-1 {
keypad_row1_1: keypad-row1-1-pins {
samsung,pins = "gpn-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row2_1: keypad-row2-1 {
keypad_row2_1: keypad-row2-1-pins {
samsung,pins = "gpn-2";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row3_1: keypad-row3-1 {
keypad_row3_1: keypad-row3-1-pins {
samsung,pins = "gpn-3";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row4_1: keypad-row4-1 {
keypad_row4_1: keypad-row4-1-pins {
samsung,pins = "gpn-4";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row5_1: keypad-row5-1 {
keypad_row5_1: keypad-row5-1-pins {
samsung,pins = "gpn-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row6_1: keypad-row6-1 {
keypad_row6_1: keypad-row6-1-pins {
samsung,pins = "gpn-6";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
keypad_row7_1: keypad-row7-1 {
keypad_row7_1: keypad-row7-1-pins {
samsung,pins = "gpn-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
lcd_ctrl: lcd-ctrl {
lcd_ctrl: lcd-ctrl-pins {
samsung,pins = "gpj-8", "gpj-9", "gpj-10", "gpj-11";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
lcd_data16: lcd-data-width16 {
lcd_data16: lcd-data-width16-pins {
samsung,pins = "gpi-3", "gpi-4", "gpi-5", "gpi-6",
"gpi-7", "gpi-10", "gpi-11", "gpi-12",
"gpi-13", "gpi-14", "gpi-15", "gpj-3",
@ -652,7 +652,7 @@
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
lcd_data18: lcd-data-width18 {
lcd_data18: lcd-data-width18-pins {
samsung,pins = "gpi-2", "gpi-3", "gpi-4", "gpi-5",
"gpi-6", "gpi-7", "gpi-10", "gpi-11",
"gpi-12", "gpi-13", "gpi-14", "gpi-15",
@ -662,7 +662,7 @@
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
lcd_data24: lcd-data-width24 {
lcd_data24: lcd-data-width24-pins {
samsung,pins = "gpi-0", "gpi-1", "gpi-2", "gpi-3",
"gpi-4", "gpi-5", "gpi-6", "gpi-7",
"gpi-8", "gpi-9", "gpi-10", "gpi-11",
@ -673,7 +673,7 @@
samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
};
hsi_bus: hsi-bus {
hsi_bus: hsi-bus-pins {
samsung,pins = "gpk-0", "gpk-1", "gpk-2", "gpk-3",
"gpk-4", "gpk-5", "gpk-6", "gpk-7";
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;

View file

@ -15,6 +15,7 @@
*/
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include "s5pv210.dtsi"
@ -31,11 +32,18 @@
reg = <0x20000000 0x40000000>;
};
ethernet@18000000 {
pmic_ap_clk: clock-0 {
/* Workaround for missing PMIC and its clock */
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <32768>;
};
ethernet@a8000000 {
compatible = "davicom,dm9000";
reg = <0xA8000000 0x2 0xA8000002 0x2>;
reg = <0xa8000000 0x2>, <0xa8000002 0x2>;
interrupt-parent = <&gph1>;
interrupts = <1 4>;
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
local-mac-address = [00 00 de ad be ef];
davicom,no-eeprom;
};
@ -47,6 +55,14 @@
default-brightness-level = <6>;
pinctrl-names = "default";
pinctrl-0 = <&pwm3_out>;
power-supply = <&dc5v_reg>;
};
dc5v_reg: regulator-0 {
compatible = "regulator-fixed";
regulator-name = "DC5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
};
@ -147,6 +163,8 @@
&rtc {
status = "okay";
clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
clock-names = "rtc", "rtc_src";
};
&sdhci0 {

View file

@ -623,7 +623,7 @@ int hw_breakpoint_arch_parse(struct perf_event *bp,
hw->address &= ~alignment_mask;
hw->ctrl.len <<= offset;
if (is_default_overflow_handler(bp)) {
if (uses_default_overflow_handler(bp)) {
/*
* Mismatch breakpoints are required for single-stepping
* breakpoints.
@ -795,7 +795,7 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr,
* Otherwise, insert a temporary mismatch breakpoint so that
* we can single-step over the watchpoint trigger.
*/
if (!is_default_overflow_handler(wp))
if (!uses_default_overflow_handler(wp))
continue;
step:
enable_single_step(wp, instruction_pointer(regs));
@ -808,7 +808,7 @@ step:
info->trigger = addr;
pr_debug("watchpoint fired: address = 0x%x\n", info->trigger);
perf_bp_event(wp, regs);
if (is_default_overflow_handler(wp))
if (uses_default_overflow_handler(wp))
enable_single_step(wp, instruction_pointer(regs));
}
@ -883,7 +883,7 @@ static void breakpoint_handler(unsigned long unknown, struct pt_regs *regs)
info->trigger = addr;
pr_debug("breakpoint fired: address = 0x%x\n", addr);
perf_bp_event(bp, regs);
if (is_default_overflow_handler(bp))
if (uses_default_overflow_handler(bp))
enable_single_step(bp, addr);
goto unlock;
}

View file

@ -174,7 +174,7 @@ static int _pwrdm_state_switch(struct powerdomain *pwrdm, int flag)
break;
case PWRDM_STATE_PREV:
prev = pwrdm_read_prev_pwrst(pwrdm);
if (pwrdm->state != prev)
if (prev >= 0 && pwrdm->state != prev)
pwrdm->state_counter[prev]++;
if (prev == PWRDM_POWER_RET)
_update_logic_membank_counters(pwrdm);

View file

@ -220,8 +220,6 @@ void sharpsl_battery_kick(void)
{
schedule_delayed_work(&sharpsl_bat, msecs_to_jiffies(125));
}
EXPORT_SYMBOL(sharpsl_battery_kick);
static void sharpsl_battery_thread(struct work_struct *private_)
{

View file

@ -9,7 +9,6 @@
*/
#include <linux/kernel.h>
#include <linux/module.h> /* symbol_get ; symbol_put */
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/gpio_keys.h>
@ -514,17 +513,6 @@ static struct pxa2xx_spi_chip spitz_ads7846_chip = {
.gpio_cs = SPITZ_GPIO_ADS7846_CS,
};
static void spitz_bl_kick_battery(void)
{
void (*kick_batt)(void);
kick_batt = symbol_get(sharpsl_battery_kick);
if (kick_batt) {
kick_batt();
symbol_put(sharpsl_battery_kick);
}
}
static struct corgi_lcd_platform_data spitz_lcdcon_info = {
.init_mode = CORGI_LCD_MODE_VGA,
.max_intensity = 0x2f,
@ -532,7 +520,7 @@ static struct corgi_lcd_platform_data spitz_lcdcon_info = {
.limit_mask = 0x0b,
.gpio_backlight_cont = SPITZ_GPIO_BACKLIGHT_CONT,
.gpio_backlight_on = SPITZ_GPIO_BACKLIGHT_ON,
.kick_battery = spitz_bl_kick_battery,
.kick_battery = sharpsl_battery_kick,
};
static struct pxa2xx_spi_chip spitz_lcdcon_chip = {

View file

@ -715,6 +715,7 @@
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
power-domains = <&rpmhpd SDM845_CX>;
};
qfprom@784000 {

View file

@ -654,7 +654,7 @@ static int breakpoint_handler(unsigned long unused, unsigned int esr,
perf_bp_event(bp, regs);
/* Do we need to handle the stepping? */
if (is_default_overflow_handler(bp))
if (uses_default_overflow_handler(bp))
step = 1;
unlock:
rcu_read_unlock();
@ -733,7 +733,7 @@ static u64 get_distance_from_watchpoint(unsigned long addr, u64 val,
static int watchpoint_report(struct perf_event *wp, unsigned long addr,
struct pt_regs *regs)
{
int step = is_default_overflow_handler(wp);
int step = uses_default_overflow_handler(wp);
struct arch_hw_breakpoint *info = counter_arch_bp(wp);
info->trigger = addr;

View file

@ -499,12 +499,12 @@ in_ea:
dbf %d0,morein
rts
.section .fixup,#alloc,#execinstr
.section .fixup,"ax"
.even
1:
jbra fpsp040_die
.section __ex_table,#alloc
.section __ex_table,"a"
.align 4
.long in_ea,1b

View file

@ -379,11 +379,11 @@ _060_real_access:
| Execption handling for movs access to illegal memory
.section .fixup,#alloc,#execinstr
.section .fixup,"ax"
.even
1: moveq #-1,%d1
rts
.section __ex_table,#alloc
.section __ex_table,"a"
.align 4
.long dmrbuae,1b
.long dmrwuae,1b

View file

@ -26,7 +26,7 @@ ENTRY(relocate_new_kernel)
lea %pc@(.Lcopy),%a4
2: addl #0x00000000,%a4 /* virt_to_phys() */
.section ".m68k_fixup","aw"
.section .m68k_fixup,"aw"
.long M68K_FIXUP_MEMOFFSET, 2b+2
.previous
@ -49,7 +49,7 @@ ENTRY(relocate_new_kernel)
lea %pc@(.Lcont040),%a4
5: addl #0x00000000,%a4 /* virt_to_phys() */
.section ".m68k_fixup","aw"
.section .m68k_fixup,"aw"
.long M68K_FIXUP_MEMOFFSET, 5b+2
.previous

View file

@ -30,7 +30,6 @@
*
*/
#include <linux/dma-map-ops.h> /* for dma_default_coherent */
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/slab.h>
@ -624,18 +623,17 @@ u32 au1xxx_dbdma_put_source(u32 chanid, dma_addr_t buf, int nbytes, u32 flags)
dp->dscr_cmd0 &= ~DSCR_CMD0_IE;
/*
* There is an erratum on certain Au1200/Au1550 revisions that could
* result in "stale" data being DMA'ed. It has to do with the snoop
* logic on the cache eviction buffer. dma_default_coherent is set
* to false on these parts.
* There is an errata on the Au1200/Au1550 parts that could result
* in "stale" data being DMA'ed. It has to do with the snoop logic on
* the cache eviction buffer. DMA_NONCOHERENT is on by default for
* these parts. If it is fixed in the future, these dma_cache_inv will
* just be nothing more than empty macros. See io.h.
*/
if (!dma_default_coherent)
dma_cache_wback_inv(KSEG0ADDR(buf), nbytes);
dma_cache_wback_inv((unsigned long)buf, nbytes);
dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */
wmb(); /* drain writebuffer */
dma_cache_wback_inv((unsigned long)dp, sizeof(*dp));
ctp->chan_ptr->ddma_dbell = 0;
wmb(); /* force doorbell write out to dma engine */
/* Get next descriptor pointer. */
ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
@ -687,18 +685,17 @@ u32 au1xxx_dbdma_put_dest(u32 chanid, dma_addr_t buf, int nbytes, u32 flags)
dp->dscr_source1, dp->dscr_dest0, dp->dscr_dest1);
#endif
/*
* There is an erratum on certain Au1200/Au1550 revisions that could
* result in "stale" data being DMA'ed. It has to do with the snoop
* logic on the cache eviction buffer. dma_default_coherent is set
* to false on these parts.
* There is an errata on the Au1200/Au1550 parts that could result in
* "stale" data being DMA'ed. It has to do with the snoop logic on the
* cache eviction buffer. DMA_NONCOHERENT is on by default for these
* parts. If it is fixed in the future, these dma_cache_inv will just
* be nothing more than empty macros. See io.h.
*/
if (!dma_default_coherent)
dma_cache_inv(KSEG0ADDR(buf), nbytes);
dma_cache_inv((unsigned long)buf, nbytes);
dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */
wmb(); /* drain writebuffer */
dma_cache_wback_inv((unsigned long)dp, sizeof(*dp));
ctp->chan_ptr->ddma_dbell = 0;
wmb(); /* force doorbell write out to dma engine */
/* Get next descriptor pointer. */
ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));

View file

@ -14,7 +14,6 @@
#include <linux/interrupt.h>
#include <linux/leds.h>
#include <linux/mmc/host.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/spi/spi.h>
@ -165,14 +164,10 @@ static struct platform_device db1x00_audio_dev = {
/******************************************************************************/
#ifdef CONFIG_MMC_AU1X
static irqreturn_t db1100_mmc_cd(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);
/* link against CONFIG_MMC=m */
mmc_cd = symbol_get(mmc_detect_change);
mmc_cd(ptr, msecs_to_jiffies(500));
symbol_put(mmc_detect_change);
mmc_detect_change(ptr, msecs_to_jiffies(500));
return IRQ_HANDLED;
}
@ -375,6 +370,7 @@ static struct platform_device db1100_mmc1_dev = {
.num_resources = ARRAY_SIZE(au1100_mmc1_res),
.resource = au1100_mmc1_res,
};
#endif /* CONFIG_MMC_AU1X */
/******************************************************************************/
@ -438,8 +434,10 @@ static struct platform_device *db1x00_devs[] = {
static struct platform_device *db1100_devs[] = {
&au1100_lcd_device,
#ifdef CONFIG_MMC_AU1X
&db1100_mmc0_dev,
&db1100_mmc1_dev,
#endif
};
int __init db1000_dev_setup(void)

View file

@ -10,7 +10,6 @@
#include <linux/gpio.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/leds.h>
@ -327,6 +326,7 @@ static struct platform_device db1200_ide_dev = {
/**********************************************************************/
#ifdef CONFIG_MMC_AU1X
/* SD carddetects: they're supposed to be edge-triggered, but ack
* doesn't seem to work (CPLD Rev 2). Instead, the screaming one
* is disabled and its counterpart enabled. The 200ms timeout is
@ -340,14 +340,7 @@ static irqreturn_t db1200_mmc_cd(int irq, void *ptr)
static irqreturn_t db1200_mmc_cdfn(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);
/* link against CONFIG_MMC=m */
mmc_cd = symbol_get(mmc_detect_change);
if (mmc_cd) {
mmc_cd(ptr, msecs_to_jiffies(200));
symbol_put(mmc_detect_change);
}
mmc_detect_change(ptr, msecs_to_jiffies(200));
msleep(100); /* debounce */
if (irq == DB1200_SD0_INSERT_INT)
@ -431,14 +424,7 @@ static irqreturn_t pb1200_mmc1_cd(int irq, void *ptr)
static irqreturn_t pb1200_mmc1_cdfn(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);
/* link against CONFIG_MMC=m */
mmc_cd = symbol_get(mmc_detect_change);
if (mmc_cd) {
mmc_cd(ptr, msecs_to_jiffies(200));
symbol_put(mmc_detect_change);
}
mmc_detect_change(ptr, msecs_to_jiffies(200));
msleep(100); /* debounce */
if (irq == PB1200_SD1_INSERT_INT)
@ -599,6 +585,7 @@ static struct platform_device pb1200_mmc1_dev = {
.num_resources = ARRAY_SIZE(au1200_mmc1_res),
.resource = au1200_mmc1_res,
};
#endif /* CONFIG_MMC_AU1X */
/**********************************************************************/
@ -766,7 +753,9 @@ static struct platform_device db1200_audiodma_dev = {
static struct platform_device *db1200_devs[] __initdata = {
NULL, /* PSC0, selected by S6.8 */
&db1200_ide_dev,
#ifdef CONFIG_MMC_AU1X
&db1200_mmc0_dev,
#endif
&au1200_lcd_dev,
&db1200_eth_dev,
&db1200_nand_dev,
@ -777,7 +766,9 @@ static struct platform_device *db1200_devs[] __initdata = {
};
static struct platform_device *pb1200_devs[] __initdata = {
#ifdef CONFIG_MMC_AU1X
&pb1200_mmc1_dev,
#endif
};
/* Some peripheral base addresses differ on the PB1200 */

View file

@ -17,7 +17,6 @@
#include <linux/interrupt.h>
#include <linux/ata_platform.h>
#include <linux/mmc/host.h>
#include <linux/module.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/platnand.h>
#include <linux/platform_device.h>
@ -451,6 +450,7 @@ static struct platform_device db1300_ide_dev = {
/**********************************************************************/
#ifdef CONFIG_MMC_AU1X
static irqreturn_t db1300_mmc_cd(int irq, void *ptr)
{
disable_irq_nosync(irq);
@ -459,14 +459,7 @@ static irqreturn_t db1300_mmc_cd(int irq, void *ptr)
static irqreturn_t db1300_mmc_cdfn(int irq, void *ptr)
{
void (*mmc_cd)(struct mmc_host *, unsigned long);
/* link against CONFIG_MMC=m. We can only be called once MMC core has
* initialized the controller, so symbol_get() should always succeed.
*/
mmc_cd = symbol_get(mmc_detect_change);
mmc_cd(ptr, msecs_to_jiffies(200));
symbol_put(mmc_detect_change);
mmc_detect_change(ptr, msecs_to_jiffies(200));
msleep(100); /* debounce */
if (irq == DB1300_SD1_INSERT_INT)
@ -640,6 +633,7 @@ static struct platform_device db1300_sd0_dev = {
.resource = au1300_sd0_res,
.num_resources = ARRAY_SIZE(au1300_sd0_res),
};
#endif /* CONFIG_MMC_AU1X */
/**********************************************************************/
@ -777,8 +771,10 @@ static struct platform_device *db1300_dev[] __initdata = {
&db1300_5waysw_dev,
&db1300_nand_dev,
&db1300_ide_dev,
#ifdef CONFIG_MMC_AU1X
&db1300_sd0_dev,
&db1300_sd1_dev,
#endif
&db1300_lcd_dev,
&db1300_ac97_dev,
&db1300_i2s_dev,

View file

@ -124,7 +124,24 @@
#define cpu_has_tx39_cache __opt(MIPS_CPU_TX39_CACHE)
#endif
#ifndef cpu_has_octeon_cache
#define cpu_has_octeon_cache 0
#define cpu_has_octeon_cache \
({ \
int __res; \
\
switch (boot_cpu_type()) { \
case CPU_CAVIUM_OCTEON: \
case CPU_CAVIUM_OCTEON_PLUS: \
case CPU_CAVIUM_OCTEON2: \
case CPU_CAVIUM_OCTEON3: \
__res = 1; \
break; \
\
default: \
__res = 0; \
} \
\
__res; \
})
#endif
/* Don't override `cpu_has_fpu' to 1 or the "nofpu" option won't work. */
#ifndef cpu_has_fpu
@ -341,7 +358,7 @@
({ \
int __res; \
\
switch (current_cpu_type()) { \
switch (boot_cpu_type()) { \
case CPU_M14KC: \
case CPU_74K: \
case CPU_1074K: \

View file

@ -70,7 +70,7 @@ static inline bool prom_is_rex(u32 magic)
*/
typedef struct {
int pagesize;
unsigned char bitmap[0];
unsigned char bitmap[];
} memmap;

View file

@ -2,14 +2,28 @@
#ifndef __PARISC_LDCW_H
#define __PARISC_LDCW_H
#ifndef CONFIG_PA20
/* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data,
and GCC only guarantees 8-byte alignment for stack locals, we can't
be assured of 16-byte alignment for atomic lock data even if we
specify "__attribute ((aligned(16)))" in the type declaration. So,
we use a struct containing an array of four ints for the atomic lock
type and dynamically select the 16-byte aligned int from the array
for the semaphore. */
for the semaphore. */
/* From: "Jim Hull" <jim.hull of hp.com>
I've attached a summary of the change, but basically, for PA 2.0, as
long as the ",CO" (coherent operation) completer is implemented, then the
16-byte alignment requirement for ldcw and ldcd is relaxed, and instead
they only require "natural" alignment (4-byte for ldcw, 8-byte for
ldcd).
Although the cache control hint is accepted by all PA 2.0 processors,
it is only implemented on PA8800/PA8900 CPUs. Prior PA8X00 CPUs still
require 16-byte alignment. If the address is unaligned, the operation
of the instruction is undefined. The ldcw instruction does not generate
unaligned data reference traps so misaligned accesses are not detected.
This hid the problem for years. So, restore the 16-byte alignment dropped
by Kyle McMartin in "Remove __ldcw_align for PA-RISC 2.0 processors". */
#define __PA_LDCW_ALIGNMENT 16
#define __PA_LDCW_ALIGN_ORDER 4
@ -19,22 +33,12 @@
& ~(__PA_LDCW_ALIGNMENT - 1); \
(volatile unsigned int *) __ret; \
})
#define __LDCW "ldcw"
#else /*CONFIG_PA20*/
/* From: "Jim Hull" <jim.hull of hp.com>
I've attached a summary of the change, but basically, for PA 2.0, as
long as the ",CO" (coherent operation) completer is specified, then the
16-byte alignment requirement for ldcw and ldcd is relaxed, and instead
they only require "natural" alignment (4-byte for ldcw, 8-byte for
ldcd). */
#define __PA_LDCW_ALIGNMENT 4
#define __PA_LDCW_ALIGN_ORDER 2
#define __ldcw_align(a) (&(a)->slock)
#ifdef CONFIG_PA20
#define __LDCW "ldcw,co"
#endif /*!CONFIG_PA20*/
#else
#define __LDCW "ldcw"
#endif
/* LDCW, the only atomic read-write operation PA-RISC has. *sigh*.
We don't explicitly expose that "*a" may be written as reload

View file

@ -11,8 +11,8 @@
#define LED1 0x02
#define LED0 0x01 /* bottom (or furthest left) LED */
#define LED_LAN_TX LED0 /* for LAN transmit activity */
#define LED_LAN_RCV LED1 /* for LAN receive activity */
#define LED_LAN_RCV LED0 /* for LAN receive activity */
#define LED_LAN_TX LED1 /* for LAN transmit activity */
#define LED_DISK_IO LED2 /* for disk activity */
#define LED_HEARTBEAT LED3 /* heartbeat */

View file

@ -97,7 +97,6 @@ struct cpuinfo_parisc {
unsigned long cpu_loc; /* CPU location from PAT firmware */
unsigned int state;
struct parisc_device *dev;
unsigned long loops_per_jiffy;
};
extern struct system_cpuinfo_parisc boot_cpu_data;

View file

@ -86,6 +86,9 @@ struct sba_device {
struct ioc ioc[MAX_IOC];
};
/* list of SBA's in system, see drivers/parisc/sba_iommu.c */
extern struct sba_device *sba_list;
#define ASTRO_RUNWAY_PORT 0x582
#define IKE_MERCED_PORT 0x803
#define REO_MERCED_PORT 0x804

View file

@ -3,13 +3,8 @@
#define __ASM_SPINLOCK_TYPES_H
typedef struct {
#ifdef CONFIG_PA20
volatile unsigned int slock;
# define __ARCH_SPIN_LOCK_UNLOCKED { 1 }
#else
volatile unsigned int lock[4];
# define __ARCH_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } }
#endif
} arch_spinlock_t;
typedef struct {

View file

@ -924,9 +924,9 @@ static __init void qemu_header(void)
pr_info("#define PARISC_MODEL \"%s\"\n\n",
boot_cpu_data.pdc.sys_model_name);
#define p ((unsigned long *)&boot_cpu_data.pdc.model)
pr_info("#define PARISC_PDC_MODEL 0x%lx, 0x%lx, 0x%lx, "
"0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx\n\n",
#define p ((unsigned long *)&boot_cpu_data.pdc.model)
p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8]);
#undef p

View file

@ -388,7 +388,7 @@ union irq_stack_union {
volatile unsigned int lock[1];
};
DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = {
static DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = {
.slock = { 1,1,1,1 },
};
#endif

View file

@ -163,7 +163,6 @@ static int __init processor_probe(struct parisc_device *dev)
if (cpuid)
memset(p, 0, sizeof(struct cpuinfo_parisc));
p->loops_per_jiffy = loops_per_jiffy;
p->dev = dev; /* Save IODC data in case we need it */
p->hpa = dev->hpa.start; /* save CPU hpa */
p->cpuid = cpuid; /* save CPU id */
@ -373,10 +372,18 @@ int
show_cpuinfo (struct seq_file *m, void *v)
{
unsigned long cpu;
char cpu_name[60], *p;
/* strip PA path from CPU name to not confuse lscpu */
strlcpy(cpu_name, per_cpu(cpu_data, 0).dev->name, sizeof(cpu_name));
p = strrchr(cpu_name, '[');
if (p)
*(--p) = 0;
for_each_online_cpu(cpu) {
const struct cpuinfo_parisc *cpuinfo = &per_cpu(cpu_data, cpu);
#ifdef CONFIG_SMP
const struct cpuinfo_parisc *cpuinfo = &per_cpu(cpu_data, cpu);
if (0 == cpuinfo->hpa)
continue;
#endif
@ -421,8 +428,7 @@ show_cpuinfo (struct seq_file *m, void *v)
seq_printf(m, "model\t\t: %s - %s\n",
boot_cpu_data.pdc.sys_model_name,
cpuinfo->dev ?
cpuinfo->dev->name : "Unknown");
cpu_name);
seq_printf(m, "hversion\t: 0x%08x\n"
"sversion\t: 0x%08x\n",
@ -433,8 +439,8 @@ show_cpuinfo (struct seq_file *m, void *v)
show_cache_info(m);
seq_printf(m, "bogomips\t: %lu.%02lu\n",
cpuinfo->loops_per_jiffy / (500000 / HZ),
(cpuinfo->loops_per_jiffy / (5000 / HZ)) % 100);
loops_per_jiffy / (500000 / HZ),
loops_per_jiffy / (5000 / HZ) % 100);
seq_printf(m, "software id\t: %ld\n\n",
boot_cpu_data.pdc.model.sw_id);

View file

@ -91,6 +91,13 @@ static inline pte_t pte_wrprotect(pte_t pte)
#define pte_wrprotect pte_wrprotect
static inline int pte_read(pte_t pte)
{
return (pte_val(pte) & _PAGE_RO) != _PAGE_NA;
}
#define pte_read pte_read
static inline int pte_write(pte_t pte)
{
return !(pte_val(pte) & _PAGE_RO);

View file

@ -244,7 +244,7 @@ static inline int __ptep_test_and_clear_young(struct mm_struct *mm,
{
unsigned long old;
if (pte_young(*ptep))
if (!pte_young(*ptep))
return 0;
old = pte_update(mm, addr, ptep, _PAGE_ACCESSED, 0, 0);
return (old & _PAGE_ACCESSED) != 0;

View file

@ -45,7 +45,9 @@ static inline int pte_write(pte_t pte)
return pte_val(pte) & _PAGE_RW;
}
#endif
#ifndef pte_read
static inline int pte_read(pte_t pte) { return 1; }
#endif
static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
static inline int pte_special(pte_t pte) { return pte_val(pte) & _PAGE_SPECIAL; }
static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; }

View file

@ -629,6 +629,7 @@ int __init fadump_reserve_mem(void)
return ret;
error_out:
fw_dump.fadump_enabled = 0;
fw_dump.reserve_dump_area_size = 0;
return 0;
}

View file

@ -922,7 +922,7 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE)
*/
lis r5, abatron_pteptrs@h
ori r5, r5, abatron_pteptrs@l
stw r5, 0xf0(r0) /* This much match your Abatron config */
stw r5, 0xf0(0) /* This much match your Abatron config */
lis r6, swapper_pg_dir@h
ori r6, r6, swapper_pg_dir@l
tophys(r5, r5)

View file

@ -247,6 +247,11 @@ disable:
return false;
}
/*
* Handle a DABR or DAWR exception.
*
* Called in atomic context.
*/
int hw_breakpoint_handler(struct die_args *args)
{
int rc = NOTIFY_STOP;
@ -315,6 +320,8 @@ NOKPROBE_SYMBOL(hw_breakpoint_handler);
/*
* Handle single-step exceptions following a DABR hit.
*
* Called in atomic context.
*/
static int single_step_dabr_instruction(struct die_args *args)
{
@ -355,6 +362,8 @@ NOKPROBE_SYMBOL(single_step_dabr_instruction);
/*
* Handle debug exception notifications.
*
* Called in atomic context.
*/
int hw_breakpoint_exceptions_notify(
struct notifier_block *unused, unsigned long val, void *data)

View file

@ -133,17 +133,28 @@ static int fail_iommu_bus_notify(struct notifier_block *nb,
return 0;
}
static struct notifier_block fail_iommu_bus_notifier = {
/*
* PCI and VIO buses need separate notifier_block structs, since they're linked
* list nodes. Sharing a notifier_block would mean that any notifiers later
* registered for PCI buses would also get called by VIO buses and vice versa.
*/
static struct notifier_block fail_iommu_pci_bus_notifier = {
.notifier_call = fail_iommu_bus_notify
};
#ifdef CONFIG_IBMVIO
static struct notifier_block fail_iommu_vio_bus_notifier = {
.notifier_call = fail_iommu_bus_notify
};
#endif
static int __init fail_iommu_setup(void)
{
#ifdef CONFIG_PCI
bus_register_notifier(&pci_bus_type, &fail_iommu_bus_notifier);
bus_register_notifier(&pci_bus_type, &fail_iommu_pci_bus_notifier);
#endif
#ifdef CONFIG_IBMVIO
bus_register_notifier(&vio_bus_type, &fail_iommu_bus_notifier);
bus_register_notifier(&vio_bus_type, &fail_iommu_vio_bus_notifier);
#endif
return 0;

View file

@ -710,9 +710,9 @@ static int __init rtas_flash_init(void)
if (!rtas_validate_flash_data.buf)
return -ENOMEM;
flash_block_cache = kmem_cache_create("rtas_flash_cache",
RTAS_BLK_SIZE, RTAS_BLK_SIZE, 0,
NULL);
flash_block_cache = kmem_cache_create_usercopy("rtas_flash_cache",
RTAS_BLK_SIZE, RTAS_BLK_SIZE,
0, 0, RTAS_BLK_SIZE, NULL);
if (!flash_block_cache) {
printk(KERN_ERR "%s: failed to create block cache\n",
__func__);

View file

@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
KASAN_SANITIZE := n
KCOV_INSTRUMENT := n
obj-$(CONFIG_PPC32) += kasan_init_32.o

View file

@ -1313,7 +1313,7 @@ static int h_24x7_event_init(struct perf_event *event)
}
domain = event_get_domain(event);
if (domain >= HV_PERF_DOMAIN_MAX) {
if (domain == 0 || domain >= HV_PERF_DOMAIN_MAX) {
pr_devel("invalid domain %d\n", domain);
return -EINVAL;
}

View file

@ -660,13 +660,13 @@ static void smp_core99_gpio_tb_freeze(int freeze)
#endif /* !CONFIG_PPC64 */
/* L2 and L3 cache settings to pass from CPU0 to CPU1 on G4 cpus */
volatile static long int core99_l2_cache;
volatile static long int core99_l3_cache;
static void core99_init_caches(int cpu)
{
#ifndef CONFIG_PPC64
/* L2 and L3 cache settings to pass from CPU0 to CPU1 on G4 cpus */
static long int core99_l2_cache;
static long int core99_l3_cache;
if (!cpu_has_feature(CPU_FTR_L2CR))
return;

View file

@ -450,6 +450,7 @@ static int __init ibmebus_bus_init(void)
if (err) {
printk(KERN_WARNING "%s: device_register returned %i\n",
__func__, err);
put_device(&ibmebus_bus_device);
bus_unregister(&ibmebus_bus_type);
return err;

View file

@ -429,6 +429,8 @@ static struct attribute_group ipl_ccw_attr_group_lpar = {
static struct attribute *ipl_unknown_attrs[] = {
&sys_ipl_type_attr.attr,
&sys_ipl_secure_attr.attr,
&sys_ipl_has_secure_attr.attr,
NULL,
};

View file

@ -543,6 +543,17 @@ static void s390_dma_unmap_sg(struct device *dev, struct scatterlist *sg,
s->dma_length = 0;
}
}
static unsigned long *bitmap_vzalloc(size_t bits, gfp_t flags)
{
size_t n = BITS_TO_LONGS(bits);
size_t bytes;
if (unlikely(check_mul_overflow(n, sizeof(unsigned long), &bytes)))
return NULL;
return vzalloc(bytes);
}
int zpci_dma_init_device(struct zpci_dev *zdev)
{
@ -579,13 +590,13 @@ int zpci_dma_init_device(struct zpci_dev *zdev)
zdev->end_dma - zdev->start_dma + 1);
zdev->end_dma = zdev->start_dma + zdev->iommu_size - 1;
zdev->iommu_pages = zdev->iommu_size >> PAGE_SHIFT;
zdev->iommu_bitmap = vzalloc(zdev->iommu_pages / 8);
zdev->iommu_bitmap = bitmap_vzalloc(zdev->iommu_pages, GFP_KERNEL);
if (!zdev->iommu_bitmap) {
rc = -ENOMEM;
goto free_dma_table;
}
if (!s390_iommu_strict) {
zdev->lazy_bitmap = vzalloc(zdev->iommu_pages / 8);
zdev->lazy_bitmap = bitmap_vzalloc(zdev->iommu_pages, GFP_KERNEL);
if (!zdev->lazy_bitmap) {
rc = -ENOMEM;
goto free_bitmap;

View file

@ -529,7 +529,7 @@ static int __init ap325rxa_devices_setup(void)
device_initialize(&ap325rxa_ceu_device.dev);
dma_declare_coherent_memory(&ap325rxa_ceu_device.dev,
ceu_dma_membase, ceu_dma_membase,
ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(&ap325rxa_ceu_device);

View file

@ -1442,15 +1442,13 @@ static int __init arch_setup(void)
device_initialize(&ecovec_ceu_devices[0]->dev);
dma_declare_coherent_memory(&ecovec_ceu_devices[0]->dev,
ceu0_dma_membase, ceu0_dma_membase,
ceu0_dma_membase +
CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(ecovec_ceu_devices[0]);
device_initialize(&ecovec_ceu_devices[1]->dev);
dma_declare_coherent_memory(&ecovec_ceu_devices[1]->dev,
ceu1_dma_membase, ceu1_dma_membase,
ceu1_dma_membase +
CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(ecovec_ceu_devices[1]);
gpiod_add_lookup_table(&cn12_power_gpiod_table);

View file

@ -603,7 +603,7 @@ static int __init kfr2r09_devices_setup(void)
device_initialize(&kfr2r09_ceu_device.dev);
dma_declare_coherent_memory(&kfr2r09_ceu_device.dev,
ceu_dma_membase, ceu_dma_membase,
ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(&kfr2r09_ceu_device);

View file

@ -604,7 +604,7 @@ static int __init migor_devices_setup(void)
device_initialize(&migor_ceu_device.dev);
dma_declare_coherent_memory(&migor_ceu_device.dev,
ceu_dma_membase, ceu_dma_membase,
ceu_dma_membase + CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(&migor_ceu_device);

View file

@ -939,15 +939,13 @@ static int __init devices_setup(void)
device_initialize(&ms7724se_ceu_devices[0]->dev);
dma_declare_coherent_memory(&ms7724se_ceu_devices[0]->dev,
ceu0_dma_membase, ceu0_dma_membase,
ceu0_dma_membase +
CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(ms7724se_ceu_devices[0]);
device_initialize(&ms7724se_ceu_devices[1]->dev);
dma_declare_coherent_memory(&ms7724se_ceu_devices[1]->dev,
ceu1_dma_membase, ceu1_dma_membase,
ceu1_dma_membase +
CEU_BUFFER_MEMORY_SIZE - 1);
CEU_BUFFER_MEMORY_SIZE);
platform_device_add(ms7724se_ceu_devices[1]);
return platform_add_devices(ms7724se_devices,

View file

@ -35,6 +35,7 @@ CONFIG_TTY_CHAN=y
CONFIG_XTERM_CHAN=y
CONFIG_CON_CHAN="pts"
CONFIG_SSL_CHAN="pts"
CONFIG_SOUND=m
CONFIG_UML_SOUND=m
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

View file

@ -33,6 +33,7 @@ CONFIG_TTY_CHAN=y
CONFIG_XTERM_CHAN=y
CONFIG_CON_CHAN="pts"
CONFIG_SSL_CHAN="pts"
CONFIG_SOUND=m
CONFIG_UML_SOUND=m
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

View file

@ -104,24 +104,14 @@ config SSL_CHAN
config UML_SOUND
tristate "Sound support"
depends on SOUND
select SOUND_OSS_CORE
help
This option enables UML sound support. If enabled, it will pull in
soundcore and the UML hostaudio relay, which acts as a intermediary
the UML hostaudio relay, which acts as a intermediary
between the host's dsp and mixer devices and the UML sound system.
It is safe to say 'Y' here.
config SOUND
tristate
default UML_SOUND
config SOUND_OSS_CORE
bool
default UML_SOUND
config HOSTAUDIO
tristate
default UML_SOUND
endmenu
menu "UML Network Devices"

View file

@ -52,7 +52,7 @@ obj-$(CONFIG_UML_NET) += net.o
obj-$(CONFIG_MCONSOLE) += mconsole.o
obj-$(CONFIG_MMAPPER) += mmapper_kern.o
obj-$(CONFIG_BLK_DEV_UBD) += ubd.o
obj-$(CONFIG_HOSTAUDIO) += hostaudio.o
obj-$(CONFIG_UML_SOUND) += hostaudio.o
obj-$(CONFIG_NULL_CHAN) += null.o
obj-$(CONFIG_PORT_CHAN) += port.o
obj-$(CONFIG_PTY_CHAN) += pty.o

View file

@ -210,7 +210,7 @@ ENDPROC(efi32_stub_entry)
#endif
.text
.Lrelocated:
SYM_FUNC_START_LOCAL_NOALIGN(.Lrelocated)
/*
* Clear BSS (stack is currently empty)
@ -261,6 +261,7 @@ ENDPROC(efi32_stub_entry)
*/
xorl %ebx, %ebx
jmp *%eax
SYM_FUNC_END(.Lrelocated)
#ifdef CONFIG_EFI_STUB
.data

View file

@ -381,11 +381,25 @@ ENTRY(startup_64)
/* Save the trampoline address in RCX */
movq %rax, %rcx
/* Set up 32-bit addressable stack */
leaq TRAMPOLINE_32BIT_STACK_END(%rcx), %rsp
/*
* Load the address of trampoline_return() into RDI.
* It will be used by the trampoline to return to the main code.
* Preserve live 64-bit registers on the stack: this is necessary
* because the architecture does not guarantee that GPRs will retain
* their full 64-bit values across a 32-bit mode switch.
*/
pushq %rbp
pushq %rbx
pushq %rsi
/*
* Push the 64-bit address of trampoline_return() onto the new stack.
* It will be used by the trampoline to return to the main code. Due to
* the 32-bit mode switch, it cannot be kept it in a register either.
*/
leaq trampoline_return(%rip), %rdi
pushq %rdi
/* Switch to compatibility mode (CS.L = 0 CS.D = 1) via far return */
pushq $__KERNEL32_CS
@ -393,6 +407,11 @@ ENTRY(startup_64)
pushq %rax
lretq
trampoline_return:
/* Restore live 64-bit registers */
popq %rsi
popq %rbx
popq %rbp
/* Restore the stack, the 32-bit trampoline uses its own stack */
leaq boot_stack_end(%rbx), %rsp
@ -517,7 +536,7 @@ ENDPROC(efi64_stub_entry)
#endif
.text
.Lrelocated:
SYM_FUNC_START_LOCAL_NOALIGN(.Lrelocated)
/*
* Clear BSS (stack is currently empty)
@ -546,6 +565,7 @@ ENDPROC(efi64_stub_entry)
* Jump to the decompressed kernel.
*/
jmp *%rax
SYM_FUNC_END(.Lrelocated)
/*
* Adjust the global offset table
@ -572,7 +592,7 @@ ENDPROC(efi64_stub_entry)
/*
* This is the 32-bit trampoline that will be copied over to low memory.
*
* RDI contains the return address (might be above 4G).
* Return address is at the top of the stack (might be above 4G).
* ECX contains the base address of the trampoline memory.
* Non zero RDX means trampoline needs to enable 5-level paging.
*/
@ -582,9 +602,6 @@ ENTRY(trampoline_32bit_src)
movl %eax, %ds
movl %eax, %ss
/* Set up new stack */
leal TRAMPOLINE_32BIT_STACK_END(%ecx), %esp
/* Disable paging */
movl %cr0, %eax
btrl $X86_CR0_PG_BIT, %eax
@ -641,9 +658,10 @@ ENTRY(trampoline_32bit_src)
lret
.code64
.Lpaging_enabled:
SYM_FUNC_START_LOCAL_NOALIGN(.Lpaging_enabled)
/* Return from the trampoline */
jmp *%rdi
retq
SYM_FUNC_END(.Lpaging_enabled)
/*
* The trampoline code has a size limit.
@ -653,11 +671,12 @@ ENTRY(trampoline_32bit_src)
.org trampoline_32bit_src + TRAMPOLINE_32BIT_CODE_SIZE
.code32
.Lno_longmode:
SYM_FUNC_START_LOCAL_NOALIGN(.Lno_longmode)
/* This isn't an x86-64 CPU, so hang intentionally, we cannot continue */
1:
hlt
jmp 1b
SYM_FUNC_END(.Lno_longmode)
#include "../../kernel/verify_cpu.S"

View file

@ -40,13 +40,13 @@ GLOBAL(protected_mode_jump)
# Transition to 32-bit mode
.byte 0x66, 0xea # ljmpl opcode
2: .long in_pm32 # offset
2: .long .Lin_pm32 # offset
.word __BOOT_CS # segment
ENDPROC(protected_mode_jump)
.code32
.section ".text32","ax"
GLOBAL(in_pm32)
SYM_FUNC_START_LOCAL_NOALIGN(.Lin_pm32)
# Set up data segments for flat 32-bit mode
movl %ecx, %ds
movl %ecx, %es
@ -72,4 +72,4 @@ GLOBAL(in_pm32)
lldt %cx
jmpl *%eax # Jump to the 32-bit entrypoint
ENDPROC(in_pm32)
SYM_FUNC_END(.Lin_pm32)

View file

@ -618,7 +618,7 @@ ret_from_intr:
jz retint_kernel
/* Interrupt came from user space */
GLOBAL(retint_user)
.Lretint_user:
mov %rsp,%rdi
call prepare_exit_to_usermode
TRACE_IRQS_IRETQ
@ -1392,7 +1392,7 @@ ENTRY(error_exit)
TRACE_IRQS_OFF
testb $3, CS(%rsp)
jz retint_kernel
jmp retint_user
jmp .Lretint_user
END(error_exit)
/*

View file

@ -502,6 +502,10 @@
#define MSR_AMD64_VIRT_SPEC_CTRL 0xc001011f
/* Zen4 */
#define MSR_ZEN4_BP_CFG 0xc001102e
#define MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT 5
/* Fam 17h MSRs */
#define MSR_F17H_IRPERF 0xc00000e9

View file

@ -95,12 +95,6 @@ static inline int cpu_has_svm(const char **msg)
return 0;
}
if (boot_cpu_data.extended_cpuid_level < SVM_CPUID_FUNC) {
if (msg)
*msg = "can't execute cpuid_8000000a";
return 0;
}
if (!boot_cpu_has(X86_FEATURE_SVM)) {
if (msg)
*msg = "svm not available";

View file

@ -237,12 +237,6 @@
extern int (*console_blank_hook)(int);
#endif
/*
* The apm_bios device is one of the misc char devices.
* This is its minor number.
*/
#define APM_MINOR_DEV 134
/*
* Various options can be changed at boot time as follows:
* (We allow underscores for compatibility with the modules code)

View file

@ -75,6 +75,10 @@ static const int amd_zenbleed[] =
AMD_MODEL_RANGE(0x17, 0x90, 0x0, 0x91, 0xf),
AMD_MODEL_RANGE(0x17, 0xa0, 0x0, 0xaf, 0xf));
static const int amd_erratum_1485[] =
AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf),
AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf));
static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum)
{
int osvw_id = *erratum++;
@ -1117,6 +1121,10 @@ static void init_amd(struct cpuinfo_x86 *c)
check_null_seg_clears_base(c);
zenbleed_check(c);
if (!cpu_has(c, X86_FEATURE_HYPERVISOR) &&
cpu_has_amd_erratum(c, amd_erratum_1485))
msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT);
}
#ifdef CONFIG_X86_32

View file

@ -1147,11 +1147,11 @@ static const struct x86_cpu_id cpu_vuln_blacklist[] __initconst = {
VULNBL_INTEL_STEPPINGS(BROADWELL_G, X86_STEPPING_ANY, SRBDS),
VULNBL_INTEL_STEPPINGS(BROADWELL_X, X86_STEPPING_ANY, MMIO),
VULNBL_INTEL_STEPPINGS(BROADWELL, X86_STEPPING_ANY, SRBDS),
VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED | GDS),
VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED | GDS),
VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED | GDS),
VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPING_ANY, MMIO | RETBLEED | GDS | SRBDS),
VULNBL_INTEL_STEPPINGS(CANNONLAKE_L, X86_STEPPING_ANY, RETBLEED),
VULNBL_INTEL_STEPPINGS(ICELAKE_L, X86_STEPPING_ANY, MMIO | MMIO_SBDS | RETBLEED | GDS),
VULNBL_INTEL_STEPPINGS(ICELAKE_D, X86_STEPPING_ANY, MMIO | GDS),

View file

@ -805,6 +805,14 @@ void __init fpu__init_system_xstate(void)
fpu__init_prepare_fx_sw_frame();
setup_init_fpu_buf();
setup_xstate_comp();
/*
* CPU capabilities initialization runs before FPU init. So
* X86_FEATURE_OSXSAVE is not set. Now that XSAVE is completely
* functional, set the feature bit so depending code works.
*/
setup_force_cpu_cap(X86_FEATURE_OSXSAVE);
print_xstate_offset_size();
pr_info("x86/fpu: Enabled xstate features 0x%llx, context size is %d bytes, using '%s' format.\n",

View file

@ -2244,13 +2244,17 @@ int kvm_apic_local_deliver(struct kvm_lapic *apic, int lvt_type)
{
u32 reg = kvm_lapic_get_reg(apic, lvt_type);
int vector, mode, trig_mode;
int r;
if (kvm_apic_hw_enabled(apic) && !(reg & APIC_LVT_MASKED)) {
vector = reg & APIC_VECTOR_MASK;
mode = reg & APIC_MODE_MASK;
trig_mode = reg & APIC_LVT_LEVEL_TRIGGER;
return __apic_accept_irq(apic, mode, vector, 1, trig_mode,
NULL);
r = __apic_accept_irq(apic, mode, vector, 1, trig_mode, NULL);
if (r && lvt_type == APIC_LVTPC)
kvm_lapic_set_reg(apic, APIC_LVTPC, reg | APIC_LVT_MASKED);
return r;
}
return 0;
}

View file

@ -73,7 +73,7 @@ ENTRY(wakeup_start)
movw %ax, %fs
movw %ax, %gs
lidtl wakeup_idt
lidtl .Lwakeup_idt
/* Clear the EFLAGS */
pushl $0
@ -171,8 +171,8 @@ END(wakeup_gdt)
/* This is the standard real-mode IDT */
.balign 16
GLOBAL(wakeup_idt)
.Lwakeup_idt:
.word 0xffff /* limit */
.long 0 /* address */
.word 0
END(wakeup_idt)
END(.Lwakeup_idt)

View file

@ -9,8 +9,7 @@
# KBUILD_CFLAGS used when building rest of boot (takes effect recursively)
KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include
HOSTFLAGS += -Iarch/$(ARCH)/boot/include
KBUILD_CFLAGS += -fno-builtin
BIG_ENDIAN := $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#")

View file

@ -4,13 +4,14 @@
/* bits taken from ppc */
extern void *avail_ram, *end_avail;
void gunzip(void *dst, int dstlen, unsigned char *src, int *lenp);
void exit (void)
static void exit(void)
{
for (;;);
}
void *zalloc(unsigned size)
static void *zalloc(unsigned int size)
{
void *p = avail_ram;

View file

@ -6,6 +6,10 @@
#include <variant/core.h>
#ifndef XCHAL_HAVE_DIV32
#define XCHAL_HAVE_DIV32 0
#endif
#ifndef XCHAL_HAVE_EXCLUSIVE
#define XCHAL_HAVE_EXCLUSIVE 0
#endif
@ -18,4 +22,13 @@
#define XCHAL_SPANNING_WAY 0
#endif
#ifndef XCHAL_HW_MIN_VERSION
#if defined(XCHAL_HW_MIN_VERSION_MAJOR) && defined(XCHAL_HW_MIN_VERSION_MINOR)
#define XCHAL_HW_MIN_VERSION (XCHAL_HW_MIN_VERSION_MAJOR * 100 + \
XCHAL_HW_MIN_VERSION_MINOR)
#else
#define XCHAL_HW_MIN_VERSION 0
#endif
#endif
#endif

View file

@ -13,17 +13,26 @@
#include <linux/perf_event.h>
#include <linux/platform_device.h>
#include <asm/core.h>
#include <asm/processor.h>
#include <asm/stacktrace.h>
#define XTENSA_HWVERSION_RG_2015_0 260000
#if XCHAL_HW_MIN_VERSION >= XTENSA_HWVERSION_RG_2015_0
#define XTENSA_PMU_ERI_BASE 0x00101000
#else
#define XTENSA_PMU_ERI_BASE 0x00001000
#endif
/* Global control/status for all perf counters */
#define XTENSA_PMU_PMG 0x1000
#define XTENSA_PMU_PMG XTENSA_PMU_ERI_BASE
/* Perf counter values */
#define XTENSA_PMU_PM(i) (0x1080 + (i) * 4)
#define XTENSA_PMU_PM(i) (XTENSA_PMU_ERI_BASE + 0x80 + (i) * 4)
/* Perf counter control registers */
#define XTENSA_PMU_PMCTRL(i) (0x1100 + (i) * 4)
#define XTENSA_PMU_PMCTRL(i) (XTENSA_PMU_ERI_BASE + 0x100 + (i) * 4)
/* Perf counter status registers */
#define XTENSA_PMU_PMSTAT(i) (0x1180 + (i) * 4)
#define XTENSA_PMU_PMSTAT(i) (XTENSA_PMU_ERI_BASE + 0x180 + (i) * 4)
#define XTENSA_PMU_PMG_PMEN 0x1

View file

@ -204,7 +204,7 @@ static int tuntap_write(struct iss_net_private *lp, struct sk_buff **skb)
return simc_write(lp->tp.info.tuntap.fd, (*skb)->data, (*skb)->len);
}
unsigned short tuntap_protocol(struct sk_buff *skb)
static unsigned short tuntap_protocol(struct sk_buff *skb)
{
return eth_type_trans(skb, skb->dev);
}
@ -477,7 +477,7 @@ static int iss_net_change_mtu(struct net_device *dev, int new_mtu)
return -EINVAL;
}
void iss_net_user_timer_expire(struct timer_list *unused)
static void iss_net_user_timer_expire(struct timer_list *unused)
{
}

View file

@ -129,6 +129,11 @@ int x509_check_for_self_signed(struct x509_certificate *cert)
if (strcmp(cert->pub->pkey_algo, cert->sig->pkey_algo) != 0)
goto out;
if (cert->unsupported_sig) {
ret = 0;
goto out;
}
ret = public_key_verify_signature(cert->pub, cert->sig);
if (ret < 0) {
if (ret == -ENOPKG) {

View file

@ -603,7 +603,7 @@ const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES] = {
/* 7E */ ACPI_OP("Timer", ARGP_TIMER_OP, ARGI_TIMER_OP, ACPI_TYPE_ANY,
AML_CLASS_EXECUTE, AML_TYPE_EXEC_0A_0T_1R,
AML_FLAGS_EXEC_0A_0T_1R),
AML_FLAGS_EXEC_0A_0T_1R | AML_NO_OPERAND_RESOLVE),
/* ACPI 5.0 opcodes */

View file

@ -1393,7 +1393,10 @@ static void __init arm_smmu_v3_pmcg_init_resources(struct resource *res,
static struct acpi_platform_list pmcg_plat_info[] __initdata = {
/* HiSilicon Hip08 Platform */
{"HISI ", "HIP08 ", 0, ACPI_SIG_IORT, greater_than_or_equal,
"Erratum #162001800", IORT_SMMU_V3_PMCG_HISI_HIP08},
"Erratum #162001800, Erratum #162001900", IORT_SMMU_V3_PMCG_HISI_HIP08},
/* HiSilicon Hip09 Platform */
{"HISI ", "HIP09 ", 0, ACPI_SIG_IORT, greater_than_or_equal,
"Erratum #162001900", IORT_SMMU_V3_PMCG_HISI_HIP09},
{ }
};

View file

@ -52,6 +52,7 @@ int acpi_register_gsi(struct device *dev, u32 gsi, int trigger,
int polarity)
{
struct irq_fwspec fwspec;
unsigned int irq;
if (WARN_ON(!acpi_gsi_domain_id)) {
pr_warn("GSI: No registered irqchip, giving up\n");
@ -63,7 +64,11 @@ int acpi_register_gsi(struct device *dev, u32 gsi, int trigger,
fwspec.param[1] = acpi_dev_get_irq_type(trigger, polarity);
fwspec.param_count = 2;
return irq_create_fwspec_mapping(&fwspec);
irq = irq_create_fwspec_mapping(&fwspec);
if (!irq)
return -EINVAL;
return irq;
}
EXPORT_SYMBOL_GPL(acpi_register_gsi);

View file

@ -16,6 +16,7 @@
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/irq.h>
#include <linux/dmi.h>
#ifdef CONFIG_X86
#define valid_IRQ(i) (((i) != 0) && ((i) != 2))
@ -380,21 +381,117 @@ unsigned int acpi_dev_get_irq_type(int triggering, int polarity)
}
EXPORT_SYMBOL_GPL(acpi_dev_get_irq_type);
static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi)
static const struct dmi_system_id medion_laptop[] = {
{
.ident = "MEDION P15651",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "MEDION"),
DMI_MATCH(DMI_BOARD_NAME, "M15T"),
},
},
{ }
};
static const struct dmi_system_id asus_laptop[] = {
{
.ident = "Asus Vivobook K3402ZA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "K3402ZA"),
},
},
{
.ident = "Asus Vivobook K3502ZA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "K3502ZA"),
},
},
{
.ident = "Asus Vivobook S5402ZA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "S5402ZA"),
},
},
{
.ident = "Asus Vivobook S5602ZA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "S5602ZA"),
},
},
{
.ident = "Asus ExpertBook B1402CBA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "B1402CBA"),
},
},
{
.ident = "Asus ExpertBook B1502CBA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "B1502CBA"),
},
},
{
.ident = "Asus ExpertBook B2402CBA",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "B2402CBA"),
},
},
{
.ident = "Asus ExpertBook B2502",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
DMI_MATCH(DMI_BOARD_NAME, "B2502CBA"),
},
},
{ }
};
struct irq_override_cmp {
const struct dmi_system_id *system;
unsigned char irq;
unsigned char triggering;
unsigned char polarity;
unsigned char shareable;
};
static const struct irq_override_cmp skip_override_table[] = {
{ medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0 },
{ asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0 },
};
static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
u8 shareable)
{
res->start = gsi;
res->end = gsi;
res->flags = IORESOURCE_IRQ | IORESOURCE_DISABLED | IORESOURCE_UNSET;
int i;
for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) {
const struct irq_override_cmp *entry = &skip_override_table[i];
if (dmi_check_system(entry->system) &&
entry->irq == gsi &&
entry->triggering == triggering &&
entry->polarity == polarity &&
entry->shareable == shareable)
return false;
}
return true;
}
static void acpi_dev_get_irqresource(struct resource *res, u32 gsi,
u8 triggering, u8 polarity, u8 shareable,
bool legacy)
bool check_override)
{
int irq, p, t;
if (!valid_IRQ(gsi)) {
acpi_dev_irqresource_disabled(res, gsi);
irqresource_disabled(res, gsi);
return;
}
@ -408,7 +505,9 @@ static void acpi_dev_get_irqresource(struct resource *res, u32 gsi,
* using extended IRQ descriptors we take the IRQ configuration
* from _CRS directly.
*/
if (legacy && !acpi_get_override_irq(gsi, &t, &p)) {
if (check_override &&
acpi_dev_irq_override(gsi, triggering, polarity, shareable) &&
!acpi_get_override_irq(gsi, &t, &p)) {
u8 trig = t ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE;
u8 pol = p ? ACPI_ACTIVE_LOW : ACPI_ACTIVE_HIGH;
@ -426,7 +525,7 @@ static void acpi_dev_get_irqresource(struct resource *res, u32 gsi,
res->start = irq;
res->end = irq;
} else {
acpi_dev_irqresource_disabled(res, gsi);
irqresource_disabled(res, gsi);
}
}
@ -463,7 +562,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
*/
irq = &ares->data.irq;
if (index >= irq->interrupt_count) {
acpi_dev_irqresource_disabled(res, 0);
irqresource_disabled(res, 0);
return false;
}
acpi_dev_get_irqresource(res, irq->interrupts[index],
@ -473,7 +572,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
ext_irq = &ares->data.extended_irq;
if (index >= ext_irq->interrupt_count) {
acpi_dev_irqresource_disabled(res, 0);
irqresource_disabled(res, 0);
return false;
}
if (is_gsi(ext_irq))
@ -481,7 +580,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
ext_irq->triggering, ext_irq->polarity,
ext_irq->shareable, false);
else
acpi_dev_irqresource_disabled(res, 0);
irqresource_disabled(res, 0);
break;
default:
res->flags = 0;

View file

@ -310,6 +310,15 @@ static const struct dmi_system_id video_detect_dmi_table[] = {
DMI_MATCH(DMI_BOARD_NAME, "Lenovo IdeaPad S405"),
},
},
{
/* https://bugzilla.suse.com/show_bug.cgi?id=1208724 */
.callback = video_detect_force_native,
/* Lenovo Ideapad Z470 */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Z470"),
},
},
{
/* https://bugzilla.redhat.com/show_bug.cgi?id=1187004 */
.callback = video_detect_force_native,

View file

@ -364,6 +364,7 @@ static void amba_device_release(struct device *dev)
{
struct amba_device *d = to_amba_device(dev);
of_node_put(d->dev.of_node);
if (d->res.parent)
release_resource(&d->res);
kfree(d);

View file

@ -1838,6 +1838,15 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
else
dev_info(&pdev->dev, "SSS flag set, parallel bus scan disabled\n");
if (!(hpriv->cap & HOST_CAP_PART))
host->flags |= ATA_HOST_NO_PART;
if (!(hpriv->cap & HOST_CAP_SSC))
host->flags |= ATA_HOST_NO_SSC;
if (!(hpriv->cap2 & HOST_CAP2_SDS))
host->flags |= ATA_HOST_NO_DEVSLP;
if (pi.flags & ATA_FLAG_EM)
ahci_reset_em(host);

View file

@ -1199,6 +1199,26 @@ static ssize_t ahci_activity_show(struct ata_device *dev, char *buf)
return sprintf(buf, "%d\n", emp->blink_policy);
}
static void ahci_port_clear_pending_irq(struct ata_port *ap)
{
struct ahci_host_priv *hpriv = ap->host->private_data;
void __iomem *port_mmio = ahci_port_base(ap);
u32 tmp;
/* clear SError */
tmp = readl(port_mmio + PORT_SCR_ERR);
dev_dbg(ap->host->dev, "PORT_SCR_ERR 0x%x\n", tmp);
writel(tmp, port_mmio + PORT_SCR_ERR);
/* clear port IRQ */
tmp = readl(port_mmio + PORT_IRQ_STAT);
dev_dbg(ap->host->dev, "PORT_IRQ_STAT 0x%x\n", tmp);
if (tmp)
writel(tmp, port_mmio + PORT_IRQ_STAT);
writel(1 << ap->port_no, hpriv->mmio + HOST_IRQ_STAT);
}
static void ahci_port_init(struct device *dev, struct ata_port *ap,
int port_no, void __iomem *mmio,
void __iomem *port_mmio)
@ -1213,18 +1233,7 @@ static void ahci_port_init(struct device *dev, struct ata_port *ap,
if (rc)
dev_warn(dev, "%s (%d)\n", emsg, rc);
/* clear SError */
tmp = readl(port_mmio + PORT_SCR_ERR);
VPRINTK("PORT_SCR_ERR 0x%x\n", tmp);
writel(tmp, port_mmio + PORT_SCR_ERR);
/* clear port IRQ */
tmp = readl(port_mmio + PORT_IRQ_STAT);
VPRINTK("PORT_IRQ_STAT 0x%x\n", tmp);
if (tmp)
writel(tmp, port_mmio + PORT_IRQ_STAT);
writel(1 << port_no, mmio + HOST_IRQ_STAT);
ahci_port_clear_pending_irq(ap);
/* mark esata ports */
tmp = readl(port_mmio + PORT_CMD);
@ -1554,6 +1563,8 @@ int ahci_do_hardreset(struct ata_link *link, unsigned int *class,
tf.command = ATA_BUSY;
ata_tf_to_fis(&tf, 0, 0, d2h_fis);
ahci_port_clear_pending_irq(ap);
rc = sata_link_hardreset(link, timing, deadline, online,
ahci_check_ready);

View file

@ -3981,10 +3981,23 @@ int sata_link_scr_lpm(struct ata_link *link, enum ata_lpm_policy policy,
case ATA_LPM_MED_POWER_WITH_DIPM:
case ATA_LPM_MIN_POWER_WITH_PARTIAL:
case ATA_LPM_MIN_POWER:
if (ata_link_nr_enabled(link) > 0)
/* no restrictions on LPM transitions */
if (ata_link_nr_enabled(link) > 0) {
/* assume no restrictions on LPM transitions */
scontrol &= ~(0x7 << 8);
else {
/*
* If the controller does not support partial, slumber,
* or devsleep, then disallow these transitions.
*/
if (link->ap->host->flags & ATA_HOST_NO_PART)
scontrol |= (0x1 << 8);
if (link->ap->host->flags & ATA_HOST_NO_SSC)
scontrol |= (0x2 << 8);
if (link->ap->host->flags & ATA_HOST_NO_DEVSLP)
scontrol |= (0x4 << 8);
} else {
/* empty port, power off */
scontrol &= ~0xf;
scontrol |= (0x1 << 2);
@ -5738,17 +5751,19 @@ static void ata_port_request_pm(struct ata_port *ap, pm_message_t mesg,
struct ata_link *link;
unsigned long flags;
/* Previous resume operation might still be in
* progress. Wait for PM_PENDING to clear.
*/
if (ap->pflags & ATA_PFLAG_PM_PENDING) {
ata_port_wait_eh(ap);
WARN_ON(ap->pflags & ATA_PFLAG_PM_PENDING);
}
/* request PM ops to EH */
spin_lock_irqsave(ap->lock, flags);
/*
* A previous PM operation might still be in progress. Wait for
* ATA_PFLAG_PM_PENDING to clear.
*/
if (ap->pflags & ATA_PFLAG_PM_PENDING) {
spin_unlock_irqrestore(ap->lock, flags);
ata_port_wait_eh(ap);
spin_lock_irqsave(ap->lock, flags);
}
/* Request PM operation to EH */
ap->pm_mesg = mesg;
ap->pflags |= ATA_PFLAG_PM_PENDING;
ata_for_each_link(link, ap, HOST_FIRST) {
@ -5760,10 +5775,8 @@ static void ata_port_request_pm(struct ata_port *ap, pm_message_t mesg,
spin_unlock_irqrestore(ap->lock, flags);
if (!async) {
if (!async)
ata_port_wait_eh(ap);
WARN_ON(ap->pflags & ATA_PFLAG_PM_PENDING);
}
}
/*
@ -5929,7 +5942,7 @@ void ata_host_resume(struct ata_host *host)
#endif
const struct device_type ata_port_type = {
.name = "ata_port",
.name = ATA_PORT_TYPE_NAME,
#ifdef CONFIG_PM
.pm = &ata_port_pm_ops,
#endif
@ -6732,11 +6745,30 @@ static void ata_port_detach(struct ata_port *ap)
if (!ap->ops->error_handler)
goto skip_eh;
/* tell EH we're leaving & flush EH */
/* Wait for any ongoing EH */
ata_port_wait_eh(ap);
mutex_lock(&ap->scsi_scan_mutex);
spin_lock_irqsave(ap->lock, flags);
/* Remove scsi devices */
ata_for_each_link(link, ap, HOST_FIRST) {
ata_for_each_dev(dev, link, ALL) {
if (dev->sdev) {
spin_unlock_irqrestore(ap->lock, flags);
scsi_remove_device(dev->sdev);
spin_lock_irqsave(ap->lock, flags);
dev->sdev = NULL;
}
}
}
/* Tell EH to disable all devices */
ap->pflags |= ATA_PFLAG_UNLOADING;
ata_port_schedule_eh(ap);
spin_unlock_irqrestore(ap->lock, flags);
mutex_unlock(&ap->scsi_scan_mutex);
/* wait till EH commits suicide */
ata_port_wait_eh(ap);

View file

@ -2422,7 +2422,7 @@ static void ata_eh_link_report(struct ata_link *link)
struct ata_eh_context *ehc = &link->eh_context;
struct ata_queued_cmd *qc;
const char *frozen, *desc;
char tries_buf[6] = "";
char tries_buf[16] = "";
int tag, nr_failed = 0;
if (ehc->i.flags & ATA_EHI_QUIET)
@ -2901,18 +2901,11 @@ int ata_eh_reset(struct ata_link *link, int classify,
postreset(slave, classes);
}
/*
* Some controllers can't be frozen very well and may set spurious
* error conditions during reset. Clear accumulated error
* information and re-thaw the port if frozen. As reset is the
* final recovery action and we cross check link onlineness against
* device classification later, no hotplug event is lost by this.
*/
/* clear cached SError */
spin_lock_irqsave(link->ap->lock, flags);
memset(&link->eh_info, 0, sizeof(link->eh_info));
link->eh_info.serror = 0;
if (slave)
memset(&slave->eh_info, 0, sizeof(link->eh_info));
ap->pflags &= ~ATA_PFLAG_EH_PENDING;
slave->eh_info.serror = 0;
spin_unlock_irqrestore(link->ap->lock, flags);
if (ap->pflags & ATA_PFLAG_FROZEN)

View file

@ -4544,7 +4544,7 @@ void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd)
break;
case MAINTENANCE_IN:
if (scsicmd[1] == MI_REPORT_SUPPORTED_OPERATION_CODES)
if ((scsicmd[1] & 0x1f) == MI_REPORT_SUPPORTED_OPERATION_CODES)
ata_scsi_rbuf_fill(&args, ata_scsiop_maint_in);
else
ata_scsi_set_invalid_field(dev, cmd, 1, 0xff);

View file

@ -266,6 +266,10 @@ void ata_tport_delete(struct ata_port *ap)
put_device(dev);
}
static const struct device_type ata_port_sas_type = {
.name = ATA_PORT_TYPE_NAME,
};
/** ata_tport_add - initialize a transport ATA port structure
*
* @parent: parent device
@ -283,7 +287,10 @@ int ata_tport_add(struct device *parent,
struct device *dev = &ap->tdev;
device_initialize(dev);
dev->type = &ata_port_type;
if (ap->flags & ATA_FLAG_SAS_HOST)
dev->type = &ata_port_sas_type;
else
dev->type = &ata_port_type;
dev->parent = parent;
ata_host_get(ap->host);

View file

@ -30,6 +30,8 @@ enum {
ATA_DNXFER_QUIET = (1 << 31),
};
#define ATA_PORT_TYPE_NAME "ata_port"
extern atomic_t ata_print_id;
extern int atapi_passthru16;
extern int libata_fua;

View file

@ -570,6 +570,7 @@ static struct platform_driver pata_ftide010_driver = {
};
module_platform_driver(pata_ftide010_driver);
MODULE_DESCRIPTION("low level driver for Faraday Technology FTIDE010");
MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:" DRV_NAME);

View file

@ -435,6 +435,7 @@ static struct platform_driver gemini_sata_driver = {
};
module_platform_driver(gemini_sata_driver);
MODULE_DESCRIPTION("low level driver for Cortina Systems Gemini SATA bridge");
MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
MODULE_LICENSE("GPL");
MODULE_ALIAS("platform:" DRV_NAME);

Some files were not shown because too many files have changed in this diff Show more