summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-03 18:35:45 -0600
committerLinux Build Service Account <lnxbuild@localhost>2016-08-03 18:35:46 -0600
commit9ecb5b34b92ff0ceb2dba6157281f8bb39017d9c (patch)
tree1b45f4df31c3698fb66ae1a1c2e392d8c143b16d /include/linux
parentda92b44bf9d918082cbf533e4c21f232273f7d88 (diff)
parent059df41e860f67a9ba59ff4af2c95d754d6e4a28 (diff)
Promotion of kernel.lnx.4.4-160803.
CRs Change ID Subject -------------------------------------------------------------------------------------------------------------- hwmon: (max1111) Return -ENODEV from max1111_read_channe vfs: show_vfsstat: do not ignore errors from show_devnam ALSA: usb-audio: add Microsoft HD-5001 to quirks drm/radeon: add a dpm quirk for all R7 370 parts crypto: ux500 - fix checks of error code returned by dev PKCS#7: pkcs7_validate_trust(): initialize the _trusted scsi: storvsc: fix SRB_STATUS_ABORTED handling libnvdimm: fix smart data retrieval ipv4: fix broadcast packets reception 987051 I0baf2be2d5a476e2e4267f20b99d0ddf5492469e qseecom: Change format specifier %p to %pK staging: comedi: ni_mio_common: fix the ni_write[blw]() ppp: release rtnl mutex when interface creation fails USB: iowarrior: fix oops with malicious USB descriptors drm/amdgpu/gmc: move vram type fetching into sw_init ppp: take reference on channels netns PM / OPP: Parse 'opp-<prop>-<name>' bindings crypto: ccp - Add hash state import and export support mld, igmp: Fix reserved tailroom calculation ipv4: initialize flowi4_flags before calling fib_lookup( 1044129 I972def91c47af5e1d2406c470a40bf6c2f3fbde9 iio: adc: rradc: Append sysfs channel string 1027136 Ia1a72138967a3806253f8431b36af71eaabe816d msm: misc: hdcp: add hdcp support for display port of: alloc anywhere from memblock if range not specified pinctrl: sh-pfc: only use dummy states for non-DT platfo sched/cputime: Fix steal time accounting vs. CPU hotplug parisc: Avoid function pointers for kernel exception rou ip6_tunnel: set rtnl_link_ops before calling register_ne HID: fix hid_ignore_special_drivers module parameter net: validate variable length ll headers dm: fix excessive dm-mq context switching md/raid5: preserve STRIPE_PREREAD_ACTIVE in break_stripe PM / OPP: Manage device clk arm64: opcodes.h: Add arm big-endian config options befo PM / OPP: Disable OPPs that aren't supported by the regu Bluetooth: Add new AR3012 ID 0489:e095 1042302 I9ed40ccedab71a3800b97fc7825741855bceaa29 input: touchscreen: add protocol B support for ITE tech PM / OPP: Rename structures for clarity tpm_eventlog.c: fix binary_bios_measurements usb: renesas_usbhs: fix to avoid using a disabled ep in writeback, cgroup: fix premature wb_put() in locked_inod cpufreq: dt: No need to allocate resources anymore xtensa: clear all DBREAKC registers on start 1044326 Iaa2c9e45fe0ed0392e084a381d2d1e1d506bc609 msm: mdss: hdmi: send info frame for HDR video streams bridge: allow zero ageing time PM / OPP: Fix NULL pointer dereference crash when disabl mtip32xx: Cleanup queued requests after surprise removal md/raid5: Compare apples to apples (or sectors to sector 1049012 I059e1b111c607e49a7cc9a7940cf458e701c73d3 wcd_dsp_mgr: Add the WCD DSP manager driver ALSA: hda - Fix white noise on Asus N750JV headphone USB: digi_acceleport: do sanity checking for the number ipv4: Don't do expensive useless work during inetdev des tools/hv: Use include/uapi with __EXPORTED_HEADERS__ clk: rockchip: add hclk_cpubus to the list of rk3188 cri USB: serial: cp210x: Adding GE Healthcare Device ID sh_eth: fix NULL pointer dereference in sh_eth_ring_form net: mvneta: enable change MAC address when interface is perf tools: Dont stop PMU parsing on alias parse error 1045208 I34365ce21659348ad1d1289e3b06b81e778c2648 input: msg21xx_ts: Move the driver to proper path PM / OPP: Fix incorrect comments 1044129 Iec4aa730fa97133af0c0fb9d47557738ef6f45a0 iio: adc: rradc: Update die_temp and chg_temp scaling 1048435 I5ece4a5676cf1d2fae4a5276da5833272cd95ecb msm: ipa3: update IPA BCR register values Bluetooth: Fix potential buffer overflow with Add Advert mmc: sh_mmcif: rework dma channel handling kbuild/mkspec: fix grub2 installkernel issue RAID5: revert e9e4c377e2f563 to fix a livelock ocfs2/dlm: fix race between convert and recovery 1041436 Iffbb50993b1ec04eebe925bf5da48192688ca62e ARM: dts: msm: add 2k truly panel for qrd in msmcobalt crypto: marvell/cesa - forward devm_ioremap_resource() e EDAC/sb_edac: Fix computation of channel address raid1: include bio_end_io_list in nr_queued to prevent f ALSA: hda - Fix unconditional GPIO toggle via automute ALSA: usb-audio: Add sanity checks for endpoint accesses PM / OPP: Remove 'operating-points-names' binding rbd: use GFP_NOIO consistently for request allocations 1042302 I314677747e8bbbcb273cd898376bbe03197c8c25 input: it7258_ts_i2c: add low reset and reset delay supp bcache: fix race of writeback thread starting before com 1047860 Ic3140ee333e646352f7ede3ecf969b7f078ff2c9 defconfig: Enable REMOTEQDSS tpm_crb: tpm2_shutdown() must be called before tpm_chip_ HID: multitouch: force retrieving of Win8 signature blob x86/microcode/intel: Make early loader look for builtin fuse: Add reference counting for fuse_io_priv splice: handle zero nr_pages in splice_to_pipe() 1045392 Icd637fcd264565b06bcb90f8e6f7b26c8d112f24 thermal: tsens: Update TSENS property for reading efuse qlcnic: Fix mailbox completion handling during spurious USB: serial: ftdi_sio: Add support for ICP DAS I-756xU d sd: Fix excessive capacity printing on devices with bloc ipr: Fix regression when loading firmware nfs: use file_dentry() ocfs2/dlm: fix BUG in dlm_move_lockres_to_recovery_list Revert "PCI: Add helpers to manage pci_dev->irq and pci_ btrfs: fix crash/invalid memory access on fsync when usi KVM: x86: fix missed hardware breakpoints coda: fix first encoded frame payload scripts/coccinelle: modernize & cdc-acm: fix NULL pointer reference mac80211: properly deal with station hashtable insert er KVM: VMX: avoid guest hang on invalid invvpid instructio fuse: do not use iocb after it may have been freed ALSA: hda - fix front mic problem for a HP desktop cgroup: ignore css_sets associated with dead cgroups dur x86/microcode: Untangle from BLK_DEV_INITRD drm/amdgpu/gmc: use proper register for vram type on Fij ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM macvtap: always pass ethernet header in linear ipv4: only create late gso-skb if skb is already set up ext4: ignore quota mount options if the quota feature is Revert "usb: hub: do not clear BOS field during reset de 1049012 I2b1464c2a035a039440e6d3e5122ad3f90da4d1e ASoC: wcd-dsp-utils: Add utilities for wcd dsp USB: cdc-acm: more sanity checking x86/iopl/64: Properly context-switch IOPL on Xen PV 1028339 I41e9012210ce9a5f4fbeb4236365c0fa2db08625 ARM: dts: msm: Modify the GPIO bias for I2C_5 on msmcoba 1009727 I34989768811b23762c4afe3e33e229ffa3f1db17 serial: msm_serial_hs: Move clk count voting out of runt cpufreq: dt: Reuse dev_pm_opp_get_max_transition_latency sg: fix dxferp in from_to case tracing: Fix crash from reading trace_pipe with sendfile ALSA: timer: Use mod_timer() for rearming the system tim mmc: sdhci: fix data timeout (part 2) mtip32xx: Handle FTL rebuild failure state during device quota: Fix possible GPF due to uninitialised pointers usb: retry reset if a device times out staging: android: ion: Set the length of the DMA sg entr net: qca_spi: clear IFF_TX_SKB_SHARING ACPI / PM: Runtime resume devices when waking from hiber cpufreq-dt: fix handling regulator_get_voltage() result ALSA: usb-audio: Fix double-free in error paths after sn PM / OPP: Introduce dev_pm_opp_get_max_volt_latency() perf/core: Fix perf_sched_count derailment Revert "PCI, x86: Implement pcibios_alloc_irq() and pcib mmc: sdhci: fix data timeout (part 1) mtip32xx: Fix broken service thread handling be2iscsi: set the boot_kset pointer to NULL in case of f pinctrl: sunxi: Fix A33 external interrupts not working compiler-gcc: disable -ftracer for __noclone functions 1041436 I23d9ebc6ae2f4070984ee0d5b7e6fbe40f6872dd ARM: dts: msm: add 4k dsc panel for qrd in msmcobalt mmc: mmc_spi: Add Card Detect comments and fix CD GPIO c HID: logitech: fix Dual Action gamepad support fs: add file_dentry() mmc: block: fix ABI regression of mmc_blk_ioctl clk: rockchip: rk3368: fix parents of video encoder/deco Input: ims-pcu - sanity check against missing interfaces USB: uas: Reduce can_queue to MAX_CMNDS parisc: Unbreak handling exceptions from kernel modules ASoC: samsung: pass DMA channels as pointers mac80211: avoid excessive stack usage in sta_info ALSA: pcm: Avoid "BUG:" string for warnings again bonding: fix bond_get_stats() net: bcmgenet: fix dma api length mismatch ext4: add lockdep annotations for i_data_sem drm/radeon: add another R7 370 quirk net: vrf: Remove direct access to skb->data parisc: Fix kernel crash with reversed copy_from_user() v4l: vsp1: Set the SRU CTRL0 register when starting the xtensa: ISS: don't hang if stdin EOF is reached MIPS: Fix MSA ld unaligned failure cases staging: comedi: ni_tiocmd: change mistaken use of start ALSA: usb-audio: Minor code cleanup in create_fixed_stre mac80211: fix unnecessary frame drops in mesh fwding mei: bus: check if the device is enabled before data tra usb: renesas_usbhs: disable TX IRQ before starting TX DM PM / OPP: Add {opp-microvolt|opp-microamp}-<name> bindin 1044129 I46dca1f606b5414bf7a032c18c9684ba2e53cf28 iio: adc: rradc: Add RRADC channels perf tools: Fix python extension build dm: fix rq_end_stats() NULL pointer in dm_requeue_origin mm/page_alloc: prevent merging between isolated and othe sched/preempt, sh: kmap_coherent relies on disabled pree ia64: define ioremap_uc() usbnet: cleanup after bind() in probe() RAID5: check_reshape() shouldn't call mddev_suspend USB: usb_driver_claim_interface: add sanity checking crypto: atmel - fix checks of error code returned by dev rocker: set FDB cleanup timer according to lowest ageing pwc: Add USB id for Philips Spc880nc webcam mtip32xx: Handle safe removal during IO iio: st_magn: always define ST_MAGN_TRIGGER_SET_STATE md: multipath: don't hardcopy bio in .make_request path PM / OPP: Rename OPP nodes as opp@<opp-hz> tracing: Fix trace_printk() to print when not using bpri 1042302 Ib9905017fc18999e7ab7c9cb8bc1af398f5f9791 input: it7258_ts_i2c: Do not put driver in infinite loop tcp/dccp: remove obsolete WARN_ON() in icmp handlers cpufreq: dt: OPP layers handles clock-latency for V1 bin PM / OPP: Add dev_pm_opp_set_rate() mlxsw: spectrum: Check requested ageing time is valid PM / OPP: Add "opp-supported-hw" binding 1042302 Ib666f406442ad5f323a08e4624832fba5e2546e2 input: it7258_ts_i2c: add regulator framework support cpufreq: dt: Pass regulator name to the OPP core vxlan: fix missing options_len update on RX with collect mm: memcontrol: reclaim when shrinking memory.high below perf/x86/intel: Add definition for PT PMI bit 1044489 I3ab9858daf6dcdbce762946cbdebeb96eaad764a ASoC: msmcobalt: fix proxy channels index value KVM: i8254: change PIT discard tick policy adv7511: TX_EDID_PRESENT is still 1 after a disconnect sched/cputime: Fix steal_account_process_tick() to alway bttv: Width must be a multiple of 16 when capturing plan KVM: fix spin_lock_init order on x86 pcmcia: db1xxx_ss: fix last irq_to_gpio user 1049012 If1162c09de8d4d7c330a97a1f133f6d46ce2fd74 mfd: wcd934x: Add page 0x50 registers for wcd934x codec tcp: fix tcpi_segs_in after connection establishment 1047798 I52095462c60d1320e3aeabed7aaf7462f143f8da ARM: dts: msm: Add platform info for msmcobalt perf/x86/intel: Fix PEBS warning by only restoring activ 1049012 I0640ac1ed60a2ec3633636760593211ecd2f9c2d ASoC: wcd-spi: SPI driver for WCD audio codecs tunnel: Clear IPCB(skb)->opt before dst_link_failure cal bcache: cleaned up error handling around register_cache( raid10: include bio_end_io_list in nr_queued to prevent ALSA: hda - fix the mic mute button and led problem for mpls: find_outdev: check for err ptr in addition to NULL 1042302 I63720092f445700b7ae66e10950d87a4654060aa input: it7258_ts_i2c: add force fw and cfg update functi ath9k: fix buffer overrun for ar9287 powerpc/mm: Fixup preempt underflow with huge pages arm64: vdso: Mark vDSO code as read-only rapidio/rionet: fix deadlock on SMP ALSA: usb-audio: Fix NULL dereference in create_fixed_st KVM: VMX: fix nested vpid for old KVM guests perf/x86/pebs: Add workaround for broken OVFL status on PM / OPP: Fix parsing of opp-microvolt and opp-microamp mac80211: fix txq queue related crashes mlx4: add missing braces in verify_qp_parameters PM / OPP: get/put regulators from OPP core dm snapshot: disallow the COW and origin devices from be ARM: dts: at91: sama5d4 Xplained: don't disable hsmci re HID: wacom: fix Bamboo ONE oops rtnl: fix msg size calculation in if_nlmsg_size() 1046577 Ia2d375b4c9d53dc4eedaf4983dd0bd1433419d75 ARM: dts: msm: Update frequency to MEM ACC level mapping PM / OPP: Add missing doc comments USB: uas: Add a new NO_REPORT_LUNS quirk farsync: fix off-by-one bug in fst_add_one dm cache: make sure every metadata function checks fail_ regulator: core: Fix nested locking of supplies PM / OPP: Use snprintf() instead of sprintf() drm/radeon: add a dpm quirk for sapphire Dual-X R7 370 2 mmc: sdhci-pci: Add support and PCI IDs for more Broxton clk: bcm2835: Fix setting of PLL divider clock rates udp6: fix UDP/IPv6 encap resubmit path perf: Do not double free ALSA: hda - Apply fix for white noise on Asus N550JV, to drm/radeon: disable runtime pm on PX laptops without dGP tty: Fix GPF in flush_to_ldisc(), part 2 1042841 I88de436b29c3000dcebeec4da607dff42d0609fe msm: ipa: add support for configuring polling interval/s 1042302 Ie3ee6b861c10ae901dea54f252f6a799d688f02a input: touchscreen: Change touch driver suspend code flo crypto: ccp - memset request context to zero during impo ipr: Fix out-of-bounds null overwrite USB: uas: Limit qdepth at the scsi-host level tcp: convert cached rtt from usec to jiffies when feedin 1044301 Id968f2541e1a543d3d7cf1c96af9936c9ae564ea msm: mdss: hdmi: use pinctrl API to toggle 5v on msmcoba crypto: keywrap - memzero the correct memory IB/srpt: Simplify srpt_handle_tsk_mgmt() x86/mm: TLB_REMOTE_SEND_IPI should count pages cpufreq-dt: Supply power coefficient when registering co cpufreq: dt: Unsupported OPPs are already disabled 1041436 I13034d549833d68941f84fb9639946ecbe7e6107 ARM: dts: msm: set 2k truly panel as default for qrd pla writeback, cgroup: fix use of the wrong bdi_writeback wh 1044129 I4da81a576b88285cedb0a1c7fd49ccd526d25012 ARM: dts: msm: Remove RRADC channel nodes on pmicobalt 878479 I49230fb6532ee02f122d5f16dfad8dbd978b368e input: it7258_ts_i2c: replace unused variable in driver 1028339 I50d918197a4cd0b503dff78e7d4ba89518c1d1c2 ARM: dts: msm: Modify the GPIO bias for UART_3 on msmcob iwlwifi: mvm: Fix paging memory leak 1045396 If2408bc4678b2e0f7e2366329be005cd652661cf spmi: pmic-arb: correct support for up to 512 APIDs KVM: x86: reduce default value of halt_poll_ns parameter 1048299 I9cba8e370c753ac5aa33252fce0ea446f061b4c0 power_supply: add CHARGER_TEMP and CHARGER_TEMP_MAX prop drm/radeon: Don't drop DP 2.7 Ghz link setup on some car jbd2: fix FS corruption possibility in jbd2_journal_dest mtip32xx: Avoid issuing standby immediate cmd during FTL s390: fix floating pointer register corruption (again) tpm: fix the rollback in tpm_chip_register() 1042302 I261db5723a19a7084072487527b350d155a54e78 input: it7258_ts_i2c: add gpio configuration support ALSA: hda - Don't handle ELD notify from invalid port drm/amdgpu: disable runtime pm on PX laptops without dGP intel_idle: prevent SKL-H boot failure when C8+C9+C10 en 1045163 Idf191144354426233eca41727a41e26ddbf92f95 input: touchpanel: Move Goodix GT915 driver to drivers f aacraid: Fix memory leak in aac_fib_map_free drm/amdgpu: include the right version of gmc header file iser-target: Rework connection termination ALSA: usb-audio: Add a sample rate quirk for Phoenix Aud 1048706 Iedccc4ab908e1b076efdd4506b686c826eacb73a msm: ipa: fix multiple static analysis issues aacraid: Fix RRQ overload ppp: ensure file->private_data can't be overridden packet: validate variable length ll headers 1042302 Ia81bb3da7e0b880de6f2ed95d346b533104ed3fc input: touchscreen: clean ITE tech driver probe function mm: fix invalid node in alloc_migrate_target() 1042302 I8912545589cb763c1deb70bebb081e920af69ad2 input: touchscreen: add auto fw upgrade for ITE tech dri brd: Fix discard request processing usbvision: fix crash on detecting device with invalid co 1044422 I81d2e3b67bf55460f40406328c5ad8c40851033a qcom-charger: add support for WiPower 1045392 Id6893729f5b37a862f3621b8c7897eb767490cd7 ARM: dts: msm: Remove TSENS QFPROM address and slope dat scripts/kconfig: allow building with make 3.80 again Bluetooth: btusb: Add a new AR3012 ID 13d3:3472 Input: synaptics - handle spurious release of trackstick cpufreq: dt: Convert few pr_debug/err() calls to dev_dbg 1018104 I464c785eba28f02993042d220e5744025e2f9346 ASoC: wcd9335: don't check for HPHL and HPHR for mono he ipv4: l2tp: fix a potential issue in l2tp_ip_recv 1017648 I8dee2f8aa0a6882ec1c320669f165e7cb94bb5f1 serial: msm_serial_hs: Modify IPC Logging Btrfs: fix file/data loss caused by fsync after rename a arm64: replace read_lock to rcu lock in call_step_hook s390/pci: enforce fmb page boundary rule 1024876 I9819c4b95876f697e75b1b84810b6c520d9c33ec CHROMIUM: android: binder: Fix potential scheduling-whil clk: rockchip: rk3368: fix cpuclk mux bit of big cpu-clu watchdog: rc32434_wdt: fix ioctl error handling scsi_common: do not clobber fixed sense information x86/irq: Cure live lock in fixup_irqs() libnvdimm, pfn: fix uuid validation 1044710 I9d3c5eec717da0b072144a1027e4582e73aaa6d9 msm: ipa: fix IPA driver processing context delete logic cpufreq: dt: Rename 'need_update' to 'opp_v1' staging: android: ion_test: fix check of platform_device iser-target: Add new state ISER_CONN_BOUND to isert_conn iser-target: Fix identification of login rx descriptor t ax25: add link layer header validation function PM / OPP: Initialize regulator pointer to an error value 1037822 Ic1edcb3548eae152fc01de88859bcf311f48f847 msm: ipa: update wan rx size buffer pinctrl: freescale: imx: fix bogus check of of_iomap() r 8250: use callbacks to access UART_DLL/UART_DLM sctp: lack the check for ports in sctp_v6_cmp_addr KVM: VMX: avoid guest hang on invalid invept instruction 1044129 I56e6bff28be2cc23f00622d5c37e42564c51a72f iio: adc: rradc: Update RRADC reads and scaling PM / OPP: Set cpu_dev->id in cpumask first perf/x86/intel: Fix PEBS data source interpretation on N au0828: fix au0828_v4l2_close() dev_state race condition au0828: Fix dev_state handling 1022917 I68200b12fcb316bf36f7c3af2734a094f972da9c ASoC: wcd9335: Changes to support CPE session using EC P qmi_wwan: add "D-Link DWM-221 B1" device id xfrm: Fix crash observed during device unregistration an Linux 4.4.7 usb: hub: fix a typo in hub_port_init() leading to wrong pinctrl-bcm2835: Fix cut-and-paste error in "pull" parsi qmi_wwan: add Sierra Wireless EM74xx device ID tun, bpf: fix suspicious RCU usage in tun_{attach, detac bcache: fix cache_set_flush() NULL pointer dereference o cdc_ncm: toggle altsetting to force reset before setup ipv6: l2tp: fix a potential issue in l2tp_ip6_recv target: Fix target_release_cmd_kref shutdown comp leak 1038623 I917f025678e6abb03058d5be4ec42d9e6d76835f msm: ipa: disconnect sequence change for USB 2.0 Linux 4.4.8 aic7xxx: Fix queue depth handling xtensa: fix preemption in {clear,copy}_user_highpage 1039008 I6fc333e15c5f0410c6b560b2a7005a1752f5f936 qcom-charger: qpnp-smb2: End charge cycle while battery ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkil mtd: onenand: fix deadlock in onenand_block_markbad cpufreq: dt: No need to fetch voltage-tolerance s390/cpumf: Fix lpp detection drm/udl: Use unlocked gem unreferencing mm: memcontrol: reclaim and OOM kill when shrinking memo xen/events: Mask a moving irq 1047266 I380efdf90305a65d4cde46dfe44762ac11c87678 usb: gadget: f_cdev: Fix NULL ptr dereference in usb_cse mmc: sh_mmcif: Correct TX DMA channel allocation fs/coredump: prevent fsuid=0 dumps into user-controlled net: jme: fix suspend/resume on JMC260 Bluetooth: btusb: Add new AR3012 ID 13d3:3395 x86/entry/compat: Keep TS_COMPAT set during signal deliv PM / OPP: Introduce dev_pm_opp_get_max_transition_latenc 1048941 I5ddb2036ab3df4715382368c144365d578ce4bb8 irq-chip: gic-v3: remove print message in irq driver 1042302 I8f193ee10076b6cf058b0a6940db54f71f70b758 input: touchscreen: correct probe error path for ITE tec mmc: sdhci: Fix override of timeout clk wrt max_busy_tim net: Fix use after free in the recvmmsg exit path 1042302 I3bbea110af189f236bb175670210e086e15d5d2d input: it7258_ts_i2c: add pinctrl support ALSA: hda - Fix headset support and noise on HP EliteBoo nfsd4: fix bad bounds checking ALSA: hda - Fixup speaker pass-through control for nid 0 Input: powermate - fix oops with malicious USB descripto HID: i2c-hid: fix OOB write in i2c_hid_set_or_send_repor iio: accel: bmc150: fix endianness when reading axes USB: option: add "D-Link DWM-221 B1" device id 1047605 I593d288edb704d2a92a65d47ca7f6399ba2e080d ARM: dts: msm: Update the graphics OPP property on MSMCO s390/cpumf: add missing lpp magic initialization clk: rockchip: rk3368: fix cpuclk core dividers HID: usbhid: fix inconsistent reset/resume/reset-resume iommu: Don't overwrite domain pointer when there is no d iio: gyro: bmg160: fix buffer read values sd: Fix discard granularity when LBPRZ=1 bitops: Do not default to __clear_bit() for __clear_bit_ MAINTAINERS: Update mailing list and web page for hwmon iio: gyro: bmg160: fix endianness when reading axes net: irda: Fix use-after-free in irtty_open() ipv6: Count in extension headers in skb->network_header Revert "x86/PCI: Don't alloc pcibios-irq when MSI is ena PM / OPP: Initialize u_volt_min/max to a valid value X.509: Fix leap year handling again crypto: ccp - Limit the amount of information exported 1049012 I1cedf646d0df1ab5968df4830502649de305c9d1 mfd: wcd934x: Mark CPE registers as volatile tpm: fix the cleanup of struct tpm_chip 1042302 I02bcea18e93146b68aaeb8d81fa7bec67b5bcc73 input: touchscreen: clean ITE tech TS driver ARC: bitops: Remove non relevant comments 1049491 I4236f4b6272d0bccaf8a2d6f7d5435caf044bd59 Revert "Thermal: handle thermal zone device properly dur PCI: ACPI: IA64: fix IO port generic range check x86/apic: Fix suspicious RCU usage in smp_trace_call_fun perf/x86/intel: Use PAGE_SIZE for PEBS buffer size on Co bridge: Allow set bridge ageing time when switchdev disa 1024876 I781dc34fdf52823fd34f4bb93872f85847076c66 sched,preempt: Fix preempt_count manipulations Thermal: Ignore invalid trip points tuntap: restore default qdisc PCI: Disable IO/MEM decoding for devices with non-compli mtip32xx: Print exact time when an internal command is i EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_d crypto: ccp - Don't assume export/import areas are align nfsd: fix deadlock secinfo+readdir compound PM / OPP: Add debugfs support pinctrl: nomadik: fix pull debug print inversion net: qca_spi: Don't clear IFF_BROADCAST regulator: core: avoid unused variable warning x86/PCI: Mark Broadwell-EP Home Agent & PCU as having no ipv6: re-enable fragment header matching in ipv6_find_hd qlcnic: Remove unnecessary usage of atomic_t tipc: Revert "tipc: use existing sk_write_queue for outg mtip32xx: Fix for rmmod crash when drive is in FTL rebui bpf: avoid copying junk bytes in bpf_get_current_comm() dm thin metadata: don't issue prefetches if a transactio 1042302 I4b6b9867dc0d74c02d165aae670213544fcda1bc input: it7258_ts_i2c: add dt parsing support 1042302 Ia989d8130bbded4ae5acab0b9c3122998acb2056 input: it7258_ts_i2c: add low power mode support in susp PM / OPP: Parse 'opp-supported-hw' binding pinctrl: pistachio: fix mfio84-89 function description a cpufreq: dt: Use dev_pm_opp_set_rate() to switch frequen Bluetooth: btusb: Add a new AR3012 ID 04ca:3014 ALSA: usb-audio: Skip volume controls triggers hangup on media: v4l2-compat-ioctl32: fix missing length copy in p 1039005 Ieee8276f000c2eb43951e64eee8f07295a351558 ARM: dts: msm: vote IPA_cfg on msmcobalt ALSA: hda - Asus N750JV external subwoofer fixup USB: cypress_m8: add endpoint sanity check perf tools: Fix checking asprintf return value perf: Cure event->pending_disable race ipv6: udp: fix UDP_MIB_IGNOREDMULTI updates 1037824 I01434ce0b58b5162c8e7aec1d43a7c66a7eaac44 msm: ipa: Fix the memory leak on exception IB/ipoib: fix for rare multicast join race condition net: fix bridge multicast packet checksum validation qlge: Fix receive packets drop. iser-target: Separate flows for np listeners and connect mtip32xx: Remove unwanted code from taskfile error handl mtip32xx: Implement timeout handler libnvdimm: Fix security issue with DSM IOCTL. ALSA: hda/realtek - Enable the ALC292 dock fixup on the ARC: [BE] readl()/writel() to work in Big Endian CPU con usb: renesas_usbhs: avoid NULL pointer derefernce in usb 1041206 I4f72857557222cbd719da7bd177511951ef7f1ff smb-lib: Add support for thermal daemon throttling fcc clk: rockchip: rk3368: fix hdmi_cec gate-register x86/iopl: Fix iopl capability check on Xen PV ALSA: usb-audio: Add a quirk for Plantronics BT300 KVM: x86: Inject pending interrupt even if pending nmi e 1013201 Ie6ec7211c64f3c4f53b9f590e5bcf5fa1937d594 soc: qcom: irq_helper: Add irq helper module PM / sleep: Clear pm_suspend_global_flags upon hibernate ARM: dts: at91: sama5d3 Xplained: don't disable hsmci re tracing: Have preempt(irqs)off trace preempt disabled fu PM / OPP: Parse clock-latency and voltage-tolerance for 1047772 I17817fbf6692829959314923c514b377e612aff8 soc: qcom: socinfo: Add support for APQCOBALT ALSA: hda - Apply reboot D3 fix for CX20724 codec, too drm/dp: move hw_mutex up the call stack 1024876 I90fe02cdedb8a5677b900a68528fb443b9204322 android: binder: Disable preemption while holding the gl sh_eth: advance 'rxdesc' later in sh_eth_ring_format() watchdog: don't run proc_watchdog_update if new value is USB: mct_u232: add sanity checking in probe 1009727 I0e5d6b8a8a69efc2d9c65dc1edc85f13cbc94fc3 msm_serial_hs: Change resource voting and system suspend saa7134: Fix bytesperline not being set correctly for pl aacraid: Set correct msix count for EEH recovery Input: ati_remote2 - fix crashes on detecting device wit cpufreq: cpufreq-dt: avoid uninitialized variable warnin xfs: fix two memory leaks in xfs_attr_list.c error paths coda: fix error path in case of missing pdata on non-DT mac80211: fix ibss scan parameters virtio: virtio 1.0 cs04 spec compliance for reset Change-Id: I03b236b9820f429c9f15c27f50b2a0017f074b9b CRs-Fixed: 1009727, 1044326, 987051, 1022917, 1047798, 1044301, 1044129, 1041436, 1037824, 1045208, 1038623, 1041206, 1047772, 1042841, 1047266, 1044489, 1048435, 1039005, 1028339, 1017648, 1018104, 1047860, 1048941, 878479, 1039008, 1037822, 1042302, 1044422, 1024876, 1013201, 1027136, 1045396, 1047605, 1045392, 1049012, 1048706, 1045163, 1046577, 1048299, 1044710, 1049491
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/cgroup-defs.h3
-rw-r--r--include/linux/compiler-gcc.h2
-rw-r--r--include/linux/dcache.h10
-rw-r--r--include/linux/device-mapper.h2
-rw-r--r--include/linux/filter.h4
-rw-r--r--include/linux/fs.h12
-rw-r--r--include/linux/hdcp_qseecom.h6
-rw-r--r--include/linux/if_bridge.h4
-rw-r--r--include/linux/ipa.h13
-rw-r--r--include/linux/kernel.h6
-rw-r--r--include/linux/mfd/wcd934x/registers.h1
-rw-r--r--include/linux/netdevice.h22
-rw-r--r--include/linux/pci.h18
-rw-r--r--include/linux/platform_data/asoc-s3c.h4
-rw-r--r--include/linux/pm_opp.h49
-rw-r--r--include/linux/power_supply.h2
-rw-r--r--include/linux/skbuff.h41
-rw-r--r--include/linux/thermal.h2
-rw-r--r--include/linux/tty.h2
-rw-r--r--include/linux/usb_usual.h2
20 files changed, 176 insertions, 29 deletions
diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h
index a702c042b716..e63d3a513e67 100644
--- a/include/linux/cgroup-defs.h
+++ b/include/linux/cgroup-defs.h
@@ -216,6 +216,9 @@ struct css_set {
/* all css_task_iters currently walking this cset */
struct list_head task_iters;
+ /* dead and being drained, ignore for migration */
+ bool dead;
+
/* For RCU-protected deletion */
struct rcu_head rcu_head;
};
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
index 22ab246feed3..eeae401a2412 100644
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
@@ -199,7 +199,7 @@
#define unreachable() __builtin_unreachable()
/* Mark a function definition as prohibited from being cloned. */
-#define __noclone __attribute__((__noclone__))
+#define __noclone __attribute__((__noclone__, __optimize__("no-tracer")))
#endif /* GCC_VERSION >= 40500 */
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 8a2e009c8a5a..f513dd855cb2 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -161,6 +161,7 @@ struct dentry_operations {
struct vfsmount *(*d_automount)(struct path *);
int (*d_manage)(struct dentry *, bool);
struct inode *(*d_select_inode)(struct dentry *, unsigned);
+ struct dentry *(*d_real)(struct dentry *, struct inode *);
} ____cacheline_aligned;
/*
@@ -227,6 +228,7 @@ struct dentry_operations {
#define DCACHE_MAY_FREE 0x00800000
#define DCACHE_FALLTHRU 0x01000000 /* Fall through to lower layer */
#define DCACHE_OP_SELECT_INODE 0x02000000 /* Unioned entry: dcache op selects inode */
+#define DCACHE_OP_REAL 0x08000000
extern seqlock_t rename_lock;
@@ -582,4 +584,12 @@ static inline struct dentry *d_backing_dentry(struct dentry *upper)
return upper;
}
+static inline struct dentry *d_real(struct dentry *dentry)
+{
+ if (unlikely(dentry->d_flags & DCACHE_OP_REAL))
+ return dentry->d_op->d_real(dentry, NULL);
+ else
+ return dentry;
+}
+
#endif /* __LINUX_DCACHE_H */
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
index 2151ebfe0902..010b5ad2ac5d 100644
--- a/include/linux/device-mapper.h
+++ b/include/linux/device-mapper.h
@@ -124,6 +124,8 @@ struct dm_dev {
char name[16];
};
+dev_t dm_get_dev_t(const char *path);
+
/*
* Constructors should call these functions to ensure destination devices
* are opened/closed correctly.
diff --git a/include/linux/filter.h b/include/linux/filter.h
index 5972ffe5719a..5110d4211866 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -446,8 +446,12 @@ int bpf_prog_create_from_user(struct bpf_prog **pfp, struct sock_fprog *fprog,
void bpf_prog_destroy(struct bpf_prog *fp);
int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk);
+int __sk_attach_filter(struct sock_fprog *fprog, struct sock *sk,
+ bool locked);
int sk_attach_bpf(u32 ufd, struct sock *sk);
int sk_detach_filter(struct sock *sk);
+int __sk_detach_filter(struct sock *sk, bool locked);
+
int sk_get_filter(struct sock *sk, struct sock_filter __user *filter,
unsigned int len);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 522b582e61c7..cc2796b2486f 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1214,6 +1214,16 @@ static inline struct inode *file_inode(const struct file *f)
return f->f_inode;
}
+static inline struct dentry *file_dentry(const struct file *file)
+{
+ struct dentry *dentry = file->f_path.dentry;
+
+ if (unlikely(dentry->d_flags & DCACHE_OP_REAL))
+ return dentry->d_op->d_real(dentry, file_inode(file));
+ else
+ return dentry;
+}
+
static inline int locks_lock_file_wait(struct file *filp, struct file_lock *fl)
{
return locks_lock_inode_wait(file_inode(filp), fl);
@@ -2224,7 +2234,7 @@ extern long do_sys_open(int dfd, const char __user *filename, int flags,
extern struct file *file_open_name(struct filename *, int, umode_t);
extern struct file *filp_open(const char *, int, umode_t);
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
- const char *, int);
+ const char *, int, umode_t);
extern struct file * dentry_open(const struct path *, int, const struct cred *);
extern int filp_close(struct file *, fl_owner_t id);
diff --git a/include/linux/hdcp_qseecom.h b/include/linux/hdcp_qseecom.h
index d9835193961e..26e97700fc73 100644
--- a/include/linux/hdcp_qseecom.h
+++ b/include/linux/hdcp_qseecom.h
@@ -108,9 +108,15 @@ struct hdcp_client_ops {
int (*wakeup)(struct hdmi_hdcp_wakeup_data *data);
};
+enum hdcp_device_type {
+ HDCP_TXMTR_HDMI = 0x8001,
+ HDCP_TXMTR_DP = 0x8002
+};
+
struct hdcp_register_data {
struct hdcp_client_ops *client_ops;
struct hdcp_txmtr_ops *txmtr_ops;
+ enum hdcp_device_type device_type;
void *client_ctx;
void **hdcp_ctx;
bool tethered;
diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h
index a338a688ee4a..dcb89e3515db 100644
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -46,10 +46,6 @@ struct br_ip_list {
#define BR_LEARNING_SYNC BIT(9)
#define BR_PROXYARP_WIFI BIT(10)
-/* values as per ieee8021QBridgeFdbAgingTime */
-#define BR_MIN_AGEING_TIME (10 * HZ)
-#define BR_MAX_AGEING_TIME (1000000 * HZ)
-
#define BR_DEFAULT_AGEING_TIME (300 * HZ)
extern void brioctl_set(int (*ioctl_hook)(struct net *, unsigned int, void __user *));
diff --git a/include/linux/ipa.h b/include/linux/ipa.h
index d152057af385..5f85508353c9 100644
--- a/include/linux/ipa.h
+++ b/include/linux/ipa.h
@@ -1096,6 +1096,11 @@ int ipa_reset_endpoint(u32 clnt_hdl);
int ipa_clear_endpoint_delay(u32 clnt_hdl);
/*
+ * Disable ep
+ */
+int ipa_disable_endpoint(u32 clnt_hdl);
+
+/*
* Configuration
*/
int ipa_cfg_ep(u32 clnt_hdl, const struct ipa_ep_cfg *ipa_ep_cfg);
@@ -1462,6 +1467,14 @@ static inline int ipa_clear_endpoint_delay(u32 clnt_hdl)
}
/*
+ * Disable ep
+ */
+static inline int ipa_disable_endpoint(u32 clnt_hdl)
+{
+ return -EPERM;
+}
+
+/*
* Configuration
*/
static inline int ipa_cfg_ep(u32 clnt_hdl,
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 1eaf3d81f5c1..2955e672391d 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -607,7 +607,7 @@ do { \
#define do_trace_printk(fmt, args...) \
do { \
- static const char *trace_printk_fmt \
+ static const char *trace_printk_fmt __used \
__attribute__((section("__trace_printk_fmt"))) = \
__builtin_constant_p(fmt) ? fmt : NULL; \
\
@@ -651,7 +651,7 @@ int __trace_printk(unsigned long ip, const char *fmt, ...);
*/
#define trace_puts(str) ({ \
- static const char *trace_printk_fmt \
+ static const char *trace_printk_fmt __used \
__attribute__((section("__trace_printk_fmt"))) = \
__builtin_constant_p(str) ? str : NULL; \
\
@@ -673,7 +673,7 @@ extern void trace_dump_stack(int skip);
#define ftrace_vprintk(fmt, vargs) \
do { \
if (__builtin_constant_p(fmt)) { \
- static const char *trace_printk_fmt \
+ static const char *trace_printk_fmt __used \
__attribute__((section("__trace_printk_fmt"))) = \
__builtin_constant_p(fmt) ? fmt : NULL; \
\
diff --git a/include/linux/mfd/wcd934x/registers.h b/include/linux/mfd/wcd934x/registers.h
index 871bf6a778b1..085e16d66bc4 100644
--- a/include/linux/mfd/wcd934x/registers.h
+++ b/include/linux/mfd/wcd934x/registers.h
@@ -33,6 +33,7 @@ enum {
WCD934X_PAGE_13,
WCD934X_PAGE_14,
WCD934X_PAGE_15,
+ WCD934X_PAGE_0x50,
WCD934X_PAGE_0X80,
};
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index b222d86b501f..acf302ef2f01 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -265,6 +265,7 @@ struct header_ops {
void (*cache_update)(struct hh_cache *hh,
const struct net_device *dev,
const unsigned char *haddr);
+ bool (*validate)(const char *ll_header, unsigned int len);
};
/* These flag bits are private to the generic network queueing
@@ -1398,8 +1399,7 @@ enum netdev_priv_flags {
* @dma: DMA channel
* @mtu: Interface MTU value
* @type: Interface hardware type
- * @hard_header_len: Hardware header length, which means that this is the
- * minimum size of a packet.
+ * @hard_header_len: Maximum hardware header length.
*
* @needed_headroom: Extra headroom the hardware may need, but not in all
* cases can this be guaranteed
@@ -2493,6 +2493,24 @@ static inline int dev_parse_header(const struct sk_buff *skb,
return dev->header_ops->parse(skb, haddr);
}
+/* ll_header must have at least hard_header_len allocated */
+static inline bool dev_validate_header(const struct net_device *dev,
+ char *ll_header, int len)
+{
+ if (likely(len >= dev->hard_header_len))
+ return true;
+
+ if (capable(CAP_SYS_RAWIO)) {
+ memset(ll_header + len, 0, dev->hard_header_len - len);
+ return true;
+ }
+
+ if (dev->header_ops && dev->header_ops->validate)
+ return dev->header_ops->validate(ll_header, len);
+
+ return false;
+}
+
typedef int gifconf_func_t(struct net_device * dev, char __user * bufptr, int len);
int register_gifconf(unsigned int family, gifconf_func_t *gifconf);
static inline int unregister_gifconf(unsigned int family)
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 6ae25aae88fd..e89c7ee7e803 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -359,6 +359,7 @@ struct pci_dev {
unsigned int io_window_1k:1; /* Intel P2P bridge 1K I/O windows */
unsigned int irq_managed:1;
unsigned int has_secondary_link:1;
+ unsigned int non_compliant_bars:1; /* broken BARs; ignore them */
pci_dev_flags_t dev_flags;
atomic_t enable_cnt; /* pci_enable_device has been called */
@@ -988,23 +989,6 @@ static inline int pci_is_managed(struct pci_dev *pdev)
return pdev->is_managed;
}
-static inline void pci_set_managed_irq(struct pci_dev *pdev, unsigned int irq)
-{
- pdev->irq = irq;
- pdev->irq_managed = 1;
-}
-
-static inline void pci_reset_managed_irq(struct pci_dev *pdev)
-{
- pdev->irq = 0;
- pdev->irq_managed = 0;
-}
-
-static inline bool pci_has_managed_irq(struct pci_dev *pdev)
-{
- return pdev->irq_managed && pdev->irq > 0;
-}
-
void pci_disable_device(struct pci_dev *dev);
extern unsigned int pcibios_max_latency;
diff --git a/include/linux/platform_data/asoc-s3c.h b/include/linux/platform_data/asoc-s3c.h
index 5e0bc779e6c5..33f88b4479e4 100644
--- a/include/linux/platform_data/asoc-s3c.h
+++ b/include/linux/platform_data/asoc-s3c.h
@@ -39,6 +39,10 @@ struct samsung_i2s {
*/
struct s3c_audio_pdata {
int (*cfg_gpio)(struct platform_device *);
+ void *dma_playback;
+ void *dma_capture;
+ void *dma_play_sec;
+ void *dma_capture_mic;
union {
struct samsung_i2s i2s;
} type;
diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h
index 9a2e50337af9..cccaf4a29e9f 100644
--- a/include/linux/pm_opp.h
+++ b/include/linux/pm_opp.h
@@ -34,6 +34,8 @@ bool dev_pm_opp_is_turbo(struct dev_pm_opp *opp);
int dev_pm_opp_get_opp_count(struct device *dev);
unsigned long dev_pm_opp_get_max_clock_latency(struct device *dev);
+unsigned long dev_pm_opp_get_max_volt_latency(struct device *dev);
+unsigned long dev_pm_opp_get_max_transition_latency(struct device *dev);
struct dev_pm_opp *dev_pm_opp_get_suspend_opp(struct device *dev);
struct dev_pm_opp *dev_pm_opp_find_freq_exact(struct device *dev,
@@ -55,6 +57,14 @@ int dev_pm_opp_enable(struct device *dev, unsigned long freq);
int dev_pm_opp_disable(struct device *dev, unsigned long freq);
struct srcu_notifier_head *dev_pm_opp_get_notifier(struct device *dev);
+int dev_pm_opp_set_supported_hw(struct device *dev, const u32 *versions,
+ unsigned int count);
+void dev_pm_opp_put_supported_hw(struct device *dev);
+int dev_pm_opp_set_prop_name(struct device *dev, const char *name);
+void dev_pm_opp_put_prop_name(struct device *dev);
+int dev_pm_opp_set_regulator(struct device *dev, const char *name);
+void dev_pm_opp_put_regulator(struct device *dev);
+int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq);
#else
static inline unsigned long dev_pm_opp_get_voltage(struct dev_pm_opp *opp)
{
@@ -81,6 +91,16 @@ static inline unsigned long dev_pm_opp_get_max_clock_latency(struct device *dev)
return 0;
}
+static inline unsigned long dev_pm_opp_get_max_volt_latency(struct device *dev)
+{
+ return 0;
+}
+
+static inline unsigned long dev_pm_opp_get_max_transition_latency(struct device *dev)
+{
+ return 0;
+}
+
static inline struct dev_pm_opp *dev_pm_opp_get_suspend_opp(struct device *dev)
{
return NULL;
@@ -129,6 +149,35 @@ static inline struct srcu_notifier_head *dev_pm_opp_get_notifier(
{
return ERR_PTR(-EINVAL);
}
+
+static inline int dev_pm_opp_set_supported_hw(struct device *dev,
+ const u32 *versions,
+ unsigned int count)
+{
+ return -EINVAL;
+}
+
+static inline void dev_pm_opp_put_supported_hw(struct device *dev) {}
+
+static inline int dev_pm_opp_set_prop_name(struct device *dev, const char *name)
+{
+ return -EINVAL;
+}
+
+static inline void dev_pm_opp_put_prop_name(struct device *dev) {}
+
+static inline int dev_pm_opp_set_regulator(struct device *dev, const char *name)
+{
+ return -EINVAL;
+}
+
+static inline void dev_pm_opp_put_regulator(struct device *dev) {}
+
+static inline int dev_pm_opp_set_rate(struct device *dev, unsigned long target_freq)
+{
+ return -EINVAL;
+}
+
#endif /* CONFIG_PM_OPP */
#if defined(CONFIG_PM_OPP) && defined(CONFIG_OF)
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index b081a56e250f..7d1e374e176c 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -214,6 +214,8 @@ enum power_supply_property {
POWER_SUPPLY_PROP_TYPEC_POWER_ROLE,
POWER_SUPPLY_PROP_PD_ALLOWED,
POWER_SUPPLY_PROP_PD_ACTIVE,
+ POWER_SUPPLY_PROP_CHARGER_TEMP,
+ POWER_SUPPLY_PROP_CHARGER_TEMP_MAX,
/* Local extensions of type int64_t */
POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT,
/* Properties of type `const char *' */
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 75f136a22a5e..4fde61804191 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1908,6 +1908,30 @@ static inline void skb_reserve(struct sk_buff *skb, int len)
skb->tail += len;
}
+/**
+ * skb_tailroom_reserve - adjust reserved_tailroom
+ * @skb: buffer to alter
+ * @mtu: maximum amount of headlen permitted
+ * @needed_tailroom: minimum amount of reserved_tailroom
+ *
+ * Set reserved_tailroom so that headlen can be as large as possible but
+ * not larger than mtu and tailroom cannot be smaller than
+ * needed_tailroom.
+ * The required headroom should already have been reserved before using
+ * this function.
+ */
+static inline void skb_tailroom_reserve(struct sk_buff *skb, unsigned int mtu,
+ unsigned int needed_tailroom)
+{
+ SKB_LINEAR_ASSERT(skb);
+ if (mtu < skb_tailroom(skb) - needed_tailroom)
+ /* use at most mtu */
+ skb->reserved_tailroom = skb_tailroom(skb) - mtu;
+ else
+ /* use up to all available space */
+ skb->reserved_tailroom = needed_tailroom;
+}
+
#define ENCAP_TYPE_ETHER 0
#define ENCAP_TYPE_IPPROTO 1
@@ -2724,6 +2748,23 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb,
unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len);
+static inline void skb_postpush_rcsum(struct sk_buff *skb,
+ const void *start, unsigned int len)
+{
+ /* For performing the reverse operation to skb_postpull_rcsum(),
+ * we can instead of ...
+ *
+ * skb->csum = csum_add(skb->csum, csum_partial(start, len, 0));
+ *
+ * ... just use this equivalent version here to save a few
+ * instructions. Feeding csum of 0 in csum_partial() and later
+ * on adding skb->csum is equivalent to feed skb->csum in the
+ * first place.
+ */
+ if (skb->ip_summed == CHECKSUM_COMPLETE)
+ skb->csum = csum_partial(start, len, skb->csum);
+}
+
/**
* pskb_trim_rcsum - trim received skb and update checksum
* @skb: buffer to trim
diff --git a/include/linux/thermal.h b/include/linux/thermal.h
index a81516c611c4..b90f8f5c663d 100644
--- a/include/linux/thermal.h
+++ b/include/linux/thermal.h
@@ -190,6 +190,7 @@ struct sensor_info {
* @trip_hyst_attrs: attributes for trip points for sysfs: trip hysteresis
* @devdata: private pointer for device private data
* @trips: number of trip points the thermal zone supports
+ * @trips_disabled; bitmap for disabled trips
* @passive_delay: number of milliseconds to wait between polls when
* performing passive cooling.
* @polling_delay: number of milliseconds to wait between polls when
@@ -225,6 +226,7 @@ struct thermal_zone_device {
struct thermal_attr *trip_hyst_attrs;
void *devdata;
int trips;
+ unsigned long trips_disabled; /* bitmap for disabled trips */
int passive_delay;
int polling_delay;
int temperature;
diff --git a/include/linux/tty.h b/include/linux/tty.h
index 6b6e811f4575..3bf03b6b52e9 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -594,7 +594,7 @@ static inline int tty_ldisc_receive_buf(struct tty_ldisc *ld, unsigned char *p,
count = ld->ops->receive_buf2(ld->tty, p, f, count);
else {
count = min_t(int, count, ld->tty->receive_room);
- if (count)
+ if (count && ld->ops->receive_buf)
ld->ops->receive_buf(ld->tty, p, f, count);
}
return count;
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h
index 7f5f78bd15ad..245f57dbbb61 100644
--- a/include/linux/usb_usual.h
+++ b/include/linux/usb_usual.h
@@ -79,6 +79,8 @@
/* Cannot handle MI_REPORT_SUPPORTED_OPERATION_CODES */ \
US_FLAG(MAX_SECTORS_240, 0x08000000) \
/* Sets max_sectors to 240 */ \
+ US_FLAG(NO_REPORT_LUNS, 0x10000000) \
+ /* Cannot handle REPORT_LUNS */ \
#define US_FLAG(name, value) US_FL_##name = value ,
enum { US_DO_ALL_FLAGS };