18 Nov, 2015

1 commit


16 Nov, 2015

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "These are the highlists of the main MIPS pull request for 4.4:

    - Add latencytop support
    - Support appended DTBs
    - VDSO support and initially use it for gettimeofday.
    - Drop the .MIPS.abiflags and ELF NOTE sections from vmlinux
    - Support for the 5KE, an internal test core.
    - Switch all MIPS platfroms to libata drivers.
    - Improved support, cleanups for ralink and Lantiq platforms.
    - Support for the new xilfpga platform.
    - A number of DTB improvments for BMIPS.
    - Improved support for CM and CPS.
    - Minor JZ4740 and BCM47xx enhancements"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (120 commits)
    MIPS: idle: add case for CPU_5KE
    MIPS: Octeon: Support APPENDED_DTB
    MIPS: vmlinux: create a section for appended DTB
    MIPS: Clean up compat_siginfo_t
    MIPS: Fix PAGE_MASK definition
    MIPS: BMIPS: Enable GZIP ramdisk and timed printks
    MIPS: Add xilfpga defconfig
    MIPS: xilfpga: Add mipsfpga platform code
    MIPS: xilfpga: Add xilfpga device tree files.
    dt-bindings: MIPS: Document xilfpga bindings and boot style
    MIPS: Make MIPS_CMDLINE_DTB default
    MIPS: Make the kernel arguments from dtb available
    MIPS: Use USE_OF as the guard for appended dtb
    MIPS: BCM63XX: Use pr_* instead of printk
    MIPS: Loongson: Cleanup CONFIG_LOONGSON_SUSPEND.
    MIPS: lantiq: Disable xbar fpi burst mode
    MIPS: lantiq: Force the crossbar to big endian
    MIPS: lantiq: Initialize the USB core on boot
    MIPS: lantiq: Return correct value for fpi clock on ar9
    MIPS: ralink: Add missing clock on rt305x
    ...

    Linus Torvalds
     

14 Nov, 2015

10 commits

  • …/olof/chrome-platform

    Pull chrome platform updates from Olof Johansson:
    "Here's the branch of chrome platform changes for v4.4. Some have been
    queued up for the full 4.3 release cycle since I forgot to send them
    in for that round (rebased early on to deal with fixes conflicts).

    Most of these enable EC communication stuff -- Pixel 2015 support,
    enabling building for ARM64 platforms, and a few fixes for memory
    leaks.

    There's also a patch in here to allow reading/writing the verified
    boot context, which depends on a sysfs patch acked by Greg"

    * tag 'chrome-platform-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/chrome-platform:
    platform/chrome: Fix i2c-designware adapter name
    platform/chrome: Support reading/writing the vboot context
    sysfs: Support is_visible() on binary attributes
    platform/chrome: cros_ec: Fix possible leak in led_rgb_store()
    platform/chrome: cros_ec: Fix leak in sequence_store()
    platform/chrome: Enable Chrome platforms on 64-bit ARM
    platform/chrome: cros_ec_dev - Add a platform device ID table
    platform/chrome: cros_ec_lpc - Add support for Google Pixel 2
    platform/chrome: cros_ec_lpc - Use existing function to check EC result
    platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO
    Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM"

    Linus Torvalds
     
  • …linux-platform-drivers-x86

    Pull another x86 platform driver update from Darren Hart:
    "Support for the unfortunately rather unique ESC key on the Ideapad
    Yoga 3 and two DMI matches for rfkill support. Solitary fix for
    potential missed errors for asus-wmi. Downgrade a thinkpad_acpi
    message to info.

    asus-wmi:
    - fix error handling in store_sys_wmi()

    ideapad-laptop:
    - Add Lenovo Yoga 900 to no_hw_rfkill dmi list
    - include Yoga 3 1170 in add rfkill whitelist
    - add support for Yoga 3 ESC key

    thinkpad_acpi:
    - Don't yell on unsupported brightness interfaces"

    * tag 'platform-drivers-x86-v4.4-2' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86:
    asus-wmi: fix error handling in store_sys_wmi()
    ideapad-laptop: Add Lenovo Yoga 900 to no_hw_rfkill dmi list
    ideapad-laptop: include Yoga 3 1170 in add rfkill whitelist
    ideapad-laptop: add support for Yoga 3 ESC key
    thinkpad_acpi: Don't yell on unsupported brightness interfaces

    Linus Torvalds
     
  • Pull more input updates from Dmitry Torokhov:
    "An update to the tsc2005 driver that allows it to also support tsc2004
    (basically the same controller, but uses i2c instead of spi bus), and
    a couple of bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: parkbd - drop bogus __init from parkbd_allocate_serio()
    Input: elantech - add Fujitsu Lifebook U745 to force crc_enabled
    Input: tsc2004 - add support for tsc2004
    Input: tsc200x-core - rename functions and variables
    Input: tsc2005 - separate SPI and core functions

    Linus Torvalds
     
  • Pull final round of SCSI updates from James Bottomley:
    "Sorry for the delay in this patch which was mostly caused by getting
    the merger of the mpt2/mpt3sas driver, which was seen as an essential
    item of maintenance work to do before the drivers diverge too much.
    Unfortunately, this caused a compile failure (detected by linux-next),
    which then had to be fixed up and incubated.

    In addition to the mpt2/3sas rework, there are updates from pm80xx,
    lpfc, bnx2fc, hpsa, ipr, aacraid, megaraid_sas, storvsc and ufs plus
    an assortment of changes including some year 2038 issues, a fix for a
    remove before detach issue in some drivers and a couple of other minor
    issues"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (141 commits)
    mpt3sas: fix inline markers on non inline function declarations
    sd: Clear PS bit before Mode Select.
    ibmvscsi: set max_lun to 32
    ibmvscsi: display default value for max_id, max_lun and max_channel.
    mptfusion: don't allow negative bytes in kbuf_alloc_2_sgl()
    scsi: pmcraid: replace struct timeval with ktime_get_real_seconds()
    mvumi: 64bit value for seconds_since1970
    be2iscsi: Fix bogus WARN_ON length check
    scsi_scan: don't dump trace when scsi_prep_async_scan() is called twice
    mpt3sas: Bump mpt3sas driver version to 09.102.00.00
    mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs
    mpt2sas, mpt3sas: Update the driver versions
    mpt3sas: setpci reset kernel oops fix
    mpt3sas: Added OEM Gen2 PnP ID branding names
    mpt3sas: Refcount fw_events and fix unsafe list usage
    mpt3sas: Refcount sas_device objects and fix unsafe list usage
    mpt3sas: sysfs attribute to report Backup Rail Monitor Status
    mpt3sas: Ported WarpDrive product SSS6200 support
    mpt3sas: fix for driver fails EEH, recovery from injected pci bus error
    mpt3sas: Manage MSI-X vectors according to HBA device type
    ...

    Linus Torvalds
     
  • Pull SCSI target updates from Nicholas Bellinger:
    "This series contains HCH's changes to absorb configfs attribute
    ->show() + ->store() function pointer usage from it's original
    tree-wide consumers, into common configfs code.

    It includes usb-gadget, target w/ drivers, netconsole and ocfs2
    changes to realize the improved simplicity, that now renders the
    original include/target/configfs_macros.h CPP magic for fabric drivers
    and others, unnecessary and obsolete.

    And with common code in place, new configfs attributes can be added
    easier than ever before.

    Note, there are further improvements in-flight from other folks for
    v4.5 code in configfs land, plus number of target fixes for post -rc1
    code"

    In the meantime, a new user of the now-removed old configfs API came in
    through the char/misc tree in commit 7bd1d4093c2f ("stm class: Introduce
    an abstraction for System Trace Module devices").

    This merge resolution comes from Alexander Shishkin, who updated his stm
    class tracing abstraction to account for the removal of the old
    show_attribute and store_attribute methods in commit 517982229f78
    ("configfs: remove old API") from this pull. As Alexander says about
    that patch:

    "There's no need to keep an extra wrapper structure per item and the
    awkward show_attribute/store_attribute item ops are no longer needed.

    This patch converts policy code to the new api, all the while making
    the code quite a bit smaller and easier on the eyes.

    Signed-off-by: Alexander Shishkin "

    That patch was folded into the merge so that the tree should be fully
    bisectable.

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (23 commits)
    configfs: remove old API
    ocfs2/cluster: use per-attribute show and store methods
    ocfs2/cluster: move locking into attribute store methods
    netconsole: use per-attribute show and store methods
    target: use per-attribute show and store methods
    spear13xx_pcie_gadget: use per-attribute show and store methods
    dlm: use per-attribute show and store methods
    usb-gadget/f_serial: use per-attribute show and store methods
    usb-gadget/f_phonet: use per-attribute show and store methods
    usb-gadget/f_obex: use per-attribute show and store methods
    usb-gadget/f_uac2: use per-attribute show and store methods
    usb-gadget/f_uac1: use per-attribute show and store methods
    usb-gadget/f_mass_storage: use per-attribute show and store methods
    usb-gadget/f_sourcesink: use per-attribute show and store methods
    usb-gadget/f_printer: use per-attribute show and store methods
    usb-gadget/f_midi: use per-attribute show and store methods
    usb-gadget/f_loopback: use per-attribute show and store methods
    usb-gadget/ether: use per-attribute show and store methods
    usb-gadget/f_acm: use per-attribute show and store methods
    usb-gadget/f_hid: use per-attribute show and store methods
    ...

    Linus Torvalds
     
  • Pull libnvdimm fixes from Dan Williams:

    - three fixes tagged for -stable including a crash fix, simple
    performance tweak, and an invalid i/o error.

    - build regression fix for the nvdimm unit tests

    - nvdimm documentation update

    * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    dax: fix __dax_pmd_fault crash
    libnvdimm: documentation clarifications
    libnvdimm, pmem: fix size trim in pmem_direct_access()
    libnvdimm, e820: fix numa node for e820-type-12 pmem ranges
    tools/testing/nvdimm, acpica: fix flag rename build breakage

    Linus Torvalds
     
  • Pull VFIO updates from Alex Williamson:
    - Use kernel interfaces for VPD emulation (Alex Williamson)
    - Platform fix for releasing IRQs (Eric Auger)
    - Type1 IOMMU always advertises PAGE_SIZE support when smaller mapping
    sizes are available (Eric Auger)
    - Platform fixes for incorrectly using copies of structures rather than
    pointers to structures (James Morse)
    - Rework platform reset modules, fix leak, and add AMD xgbe reset
    module (Eric Auger)
    - Fix vfio_device_get_from_name() return value (Joerg Roedel)
    - No-IOMMU interface (Alex Williamson)
    - Fix potential out of bounds array access in PCI config handling (Dan
    Carpenter)

    * tag 'vfio-v4.4-rc1' of git://github.com/awilliam/linux-vfio:
    vfio/pci: make an array larger
    vfio: Include No-IOMMU mode
    vfio: Fix bug in vfio_device_get_from_name()
    VFIO: platform: reset: AMD xgbe reset module
    vfio: platform: reset: calxedaxgmac: fix ioaddr leak
    vfio: platform: add dev_info on device reset
    vfio: platform: use list of registered reset function
    vfio: platform: add compat in vfio_platform_device
    vfio: platform: reset: calxedaxgmac: add reset function registration
    vfio: platform: introduce module_vfio_reset_handler macro
    vfio: platform: add capability to register a reset function
    vfio: platform: introduce vfio-platform-base module
    vfio/platform: store mapped memory in region, instead of an on-stack copy
    vfio/type1: handle case where IOMMU does not support PAGE_SIZE size
    VFIO: platform: clear IRQ_NOAUTOEN when de-assigning the IRQ
    vfio/pci: Use kernel VPD access functions
    vfio: Whitelist PCI bridges

    Linus Torvalds
     
  • Prepare second round of input updates for 4.3 merge window.

    Dmitry Torokhov
     
  • Pull Ceph updates from Sage Weil:
    "There are several patches from Ilya fixing RBD allocation lifecycle
    issues, a series adding a nocephx_sign_messages option (and associated
    bug fixes/cleanups), several patches from Zheng improving the
    (directory) fsync behavior, a big improvement in IO for direct-io
    requests when striping is enabled from Caifeng, and several other
    small fixes and cleanups"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    libceph: clear msg->con in ceph_msg_release() only
    libceph: add nocephx_sign_messages option
    libceph: stop duplicating client fields in messenger
    libceph: drop authorizer check from cephx msg signing routines
    libceph: msg signing callouts don't need con argument
    libceph: evaluate osd_req_op_data() arguments only once
    ceph: make fsync() wait unsafe requests that created/modified inode
    ceph: add request to i_unsafe_dirops when getting unsafe reply
    libceph: introduce ceph_x_authorizer_cleanup()
    ceph: don't invalidate page cache when inode is no longer used
    rbd: remove duplicate calls to rbd_dev_mapping_clear()
    rbd: set device_type::release instead of device::release
    rbd: don't free rbd_dev outside of the release callback
    rbd: return -ENOMEM instead of pool id if rbd_dev_create() fails
    libceph: use local variable cursor instead of &msg->cursor
    libceph: remove con argument in handle_reply()
    ceph: combine as many iovec as possile into one OSD request
    ceph: fix message length computation
    ceph: fix a comment typo
    rbd: drop null test before destroy functions

    Linus Torvalds
     
  • Pull drm sti driver updates from Dave Airlie:
    "The sti driver had a requirement on some patches in Greg's tree, they
    are in, so I see no problems just merging this one now"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux:
    drm/sti: load HQVDP firmware the first time HQVDP's plane is used
    drm/sti: fix typo issue in sti_mode_config_init
    drm/sti: set mixer background color through module param
    drm/sti: Remove local fbdev emulation Kconfig option
    drm/sti: remove redundant sign extensions
    drm/sti: hdmi use of_get_i2c_adapter_by_node interface
    drm/sti: hdmi fix i2c adapter device refcounting
    drm/sti: Do not export symbols
    drm/sti: Build monolithic driver
    drm/sti: Use drm_crtc_vblank_*() API
    drm/sti: Store correct CRTC index in events
    drm/sti: Select FW_LOADER
    drm/sti: Constify function pointer structs

    Linus Torvalds
     

13 Nov, 2015

11 commits

  • After merging the scsi tree, today's linux-next build (powerpc
    allyesconfig) failed like this:

    In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0:
    drivers/scsi/mpt3sas/mpt3sas_scsih.c: In function '_scsih_io_done':
    drivers/scsi/mpt3sas/mpt3sas_base.h:1414:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_get': function body not available
    mpt3sas_scsi_direct_io_get(struct MPT3SAS_ADAPTER *ioc, u16 smid);
    ^
    drivers/scsi/mpt3sas/mpt3sas_scsih.c:4448:6: error: called from here
    if (mpt3sas_scsi_direct_io_get(ioc, smid) &&
    ^
    In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:59:0:
    drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available
    mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
    ^
    drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here
    mpt3sas_scsi_direct_io_set(ioc, smid, 0);
    ^
    In file included from drivers/scsi/mpt3sas/mpt3sas_scsih.c:5
    9:0:
    drivers/scsi/mpt3sas/mpt3sas_base.h:1416:1: error: inlining failed in call to always_inline 'mpt3sas_scsi_direct_io_set': function body not available
    mpt3sas_scsi_direct_io_set(struct MPT3SAS_ADAPTER *ioc, u16 smid, u8 direct_io);
    ^
    drivers/scsi/mpt3sas/mpt3sas_scsih.c:4454:3: error: called from here
    mpt3sas_scsi_direct_io_set(ioc, smid, 0);
    ^

    Presumably caused by commit

    c84b06a48c4d ("mpt3sas: Single driver module which supports both SAS 2.0 & SAS 3.0 HBAs")

    Signed-off-by: Stephen Rothwell
    Signed-off-by: James Bottomley

    Stephen Rothwell
     
  • Pull drm fixes from Dave Airlie:
    "One urgent fix for an oops under console lock in some drivers, one
    uapi fix, and one revert to fix rockchip regression"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()"
    drm: Don't oops in drm_calc_timestamping_constants() if drm_vblank_init() wasn't called
    drm: Use userspace compatible type in fourcc_mod_code macro

    Linus Torvalds
     
  • …gaignard/kernel into drm-next

    sti/drm changes

    Add better support for firmware loading
    lots of fixes.

    * 'drm-sti-next-2015-11-03' of http://git.linaro.org/people/benjamin.gaignard/kernel:
    drm/sti: load HQVDP firmware the first time HQVDP's plane is used
    drm/sti: fix typo issue in sti_mode_config_init
    drm/sti: set mixer background color through module param
    drm/sti: Remove local fbdev emulation Kconfig option
    drm/sti: remove redundant sign extensions
    drm/sti: hdmi use of_get_i2c_adapter_by_node interface
    drm/sti: hdmi fix i2c adapter device refcounting
    drm/sti: Do not export symbols
    drm/sti: Build monolithic driver
    drm/sti: Use drm_crtc_vblank_*() API
    drm/sti: Store correct CRTC index in events
    drm/sti: Select FW_LOADER
    drm/sti: Constify function pointer structs

    Dave Airlie
     
  • This reverts commit 52f5eb60940de889ce98a876f6933b574ead3225.

    Rockchip drm can't work with generic drm_of_component_probe now

    Signed-off-by: Mark Yao
    Acked-by: Liviu Dudau
    Signed-off-by: Dave Airlie

    Mark Yao
     
  • Seems the crtc helpers call drm_calc_timestamping_constants()
    unconditionally even if the driver didn't initialize vblank support by
    calling drm_vblank_init(). That used to be OK since the constants were
    stored under drm_crtc.

    However I broke this with
    commit eba1f35dfe14 ("drm: Move timestamping constants into drm_vblank_crtc")
    when I moved the constants to live inside the drm_vblank_crtc struct
    instead. If drm_vblank_init() isn't called, we don't allocate these
    structures, and so drm_calc_timestamping_constants() will oops.

    Fix it by adding a check into drm_calc_timestamping_constants() to see
    if vblank support was initialized at all. And to keep in line with other
    such checks, also toss in a check and warn for the case where vblank
    support was initialized, but the wrong number of crtcs was specified.

    Fixes the following sort of oops:
    BUG: unable to handle kernel NULL pointer dereference at 00000000000000b0
    IP: [] drm_calc_timestamping_constants+0x86/0x130 [drm]
    PGD 0
    Oops: 0002 [#1] SMP
    Modules linked in: sr_mod cdrom mgag200(+) i2c_algo_bit drm_kms_helper ahci syscopyarea sysfillrect sysimgblt libahci fb_sys_fops bnx2x ttm tg3(+) mdio drm ptp sd_mod libata i2c_core pps_core libcrc32c hpsa dm_mirror dm_region_hash dm_log dm_mod
    CPU: 0 PID: 418 Comm: kworker/0:2 Not tainted 4.3.0+ #1
    Hardware name: HP ProLiant DL380 Gen9, BIOS P89 06/09/2015
    Workqueue: events work_for_cpu_fn
    task: ffff88046ca95500 ti: ffff88007830c000 task.ti: ffff88007830c000
    RIP: 0010:[] [] drm_calc_timestamping_constants+0x86/0x130 [drm]
    RSP: 0018:ffff88007830f4e8 EFLAGS: 00010246
    RAX: 0000000000fe4c00 RBX: ffff88006a849160 RCX: 0000000000000540
    RDX: 0000000000000000 RSI: 000000000000fde8 RDI: ffff88006a849000
    RBP: ffff88007830f518 R08: ffff88007830c000 R09: 00000001b87e3712
    R10: 00000000000050c4 R11: 0000000000000000 R12: 0000000000fe4c00
    R13: ffff88006a849000 R14: 0000000000000000 R15: 000000000000fde8
    FS: 0000000000000000(0000) GS:ffff88046f800000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000000000b0 CR3: 00000000019d6000 CR4: 00000000001406f0
    Stack:
    ffff88007830f518 ffff88006a849000 ffff880c69b90340 ffff880c69b90000
    ffff880c69b90348 ffff880c69b90340 ffff88007830f748 ffffffffa042f7e7
    ffff88006a849090 0000000000000000 ffff88006a849160 0000000000000000
    Call Trace:
    [] drm_crtc_helper_set_mode+0x3d7/0x4b0 [drm_kms_helper]
    [] drm_crtc_helper_set_config+0x8d4/0xb10 [drm_kms_helper]
    [] drm_mode_set_config_internal+0x64/0x100 [drm]
    [] drm_fb_helper_pan_display+0xa2/0x280 [drm_kms_helper]
    [] fb_pan_display+0xbb/0x170
    [] bit_update_start+0x20/0x50
    [] fbcon_switch+0x39b/0x590
    [] redraw_screen+0x1a0/0x240
    [] do_bind_con_driver+0x2ee/0x310
    [] do_take_over_console+0x141/0x1b0
    [] do_fbcon_takeover+0x57/0xb0
    [] fbcon_event_notify+0x60b/0x750
    [] notifier_call_chain+0x49/0x70
    [] __blocking_notifier_call_chain+0x4d/0x70
    [] blocking_notifier_call_chain+0x16/0x20
    [] fb_notifier_call_chain+0x1b/0x20
    [] register_framebuffer+0x1f1/0x330
    [] drm_fb_helper_initial_config+0x27a/0x3d0 [drm_kms_helper]
    [] mgag200_fbdev_init+0xdd/0xf0 [mgag200]
    [] mgag200_modeset_init+0x176/0x1e0 [mgag200]
    [] mgag200_driver_load+0x3f9/0x580 [mgag200]
    [] drm_dev_register+0xa7/0xb0 [drm]
    [] drm_get_pci_dev+0x8f/0x1e0 [drm]
    [] mga_pci_probe+0x9b/0xc0 [mgag200]
    [] local_pci_probe+0x45/0xa0
    [] work_for_cpu_fn+0x14/0x20
    [] process_one_work+0x14c/0x3c0
    [] worker_thread+0x244/0x470
    [] ? __schedule+0x2aa/0x760
    [] ? rescuer_thread+0x310/0x310
    [] kthread+0xd8/0xf0
    [] ? kthread_park+0x60/0x60
    [] ret_from_fork+0x3f/0x70
    [] ? kthread_park+0x60/0x60
    Code: f6 31 d2 41 89 c2 8b 83 b4 00 00 00 0f af c1 48 98 48 69 c0 40 42 0f 00 48 f7 f6 f6 43 74 10 41 89 c4 75 26 f6 05 9a 6f 03 00 01 89 96 b0 00 00 00 45 89 a6 ac 00 00 00 75 35 48 83 c4 08 5b
    RIP [] drm_calc_timestamping_constants+0x86/0x130 [drm]
    RSP
    CR2: 00000000000000b0

    Cc: Jeff Moyer
    Reported-by: Jeff Moyer
    References: http://lists.freedesktop.org/archives/dri-devel/2015-November/094217.html
    Fixes: eba1f35dfe14 ("drm: Move timestamping constants into drm_vblank_crtc")
    Signed-off-by: Ville Syrjälä
    Signed-off-by: Dave Airlie

    Ville Syrjälä
     
  • Pull misc block fixes from Jens Axboe:
    "Stuff that got collected after the merge window opened. This
    contains:

    - NVMe:
    - Fix for non-striped transfer size setting for NVMe from
    Sathyavathi.
    - (Some) support for the weird Apple nvme controller in the
    macbooks. From Stephan Günther.

    - The error value leak for dax from Al.

    - A few minor blk-mq tweaks from me.

    - Add the new linux-block@vger.kernel.org mailing list to the
    MAINTAINERS file.

    - Discard fix for brd, from Jan.

    - A kerneldoc warning for block core from Randy.

    - An older fix from Vivek, converting a WARN_ON() to a rate limited
    printk when a device is hot removed with dirty inodes"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    block: don't hardcode blk_qc_t -> tag mask
    dax_io(): don't let non-error value escape via retval instead of EFAULT
    block: fix blk-core.c kernel-doc warning
    fs/block_dev.c: Remove WARN_ON() when inode writeback fails
    NVMe: add support for Apple NVMe controller
    NVMe: use split lo_hi_{read,write}q
    blk-mq: mark __blk_mq_complete_request() static
    MAINTAINERS: add reference to new linux-block list
    NVMe: Increase the max transfer size when mdts is 0
    brd: Refuse improperly aligned discard requests

    Linus Torvalds
     
  • Pull security subsystem fixes from James Morris:
    "This includes several fixes for TPM, as well as a fix for the x.509
    certificate parser to address CVE-2015-5327"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    X.509: Fix the time validation [ver #2]
    tpm: fix compat 'ppi' link handling in tpm_chip_register()
    tpm: fix missing migratable flag in sealing functionality for TPM2
    TPM: revert the list handling logic fixed in 398a1e7
    TPM: Avoid reference to potentially freed memory
    tpm_tis: restore IRQ vector in IO memory after failed probing
    tpm_tis: free irq after probing

    Linus Torvalds
     
  • Pull h8300 updates from Yoshinori Sato:
    "Some bug fixes"

    * tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux:
    h8300: enable CLKSRC_OF
    h8300: Don't set CROSS_COMPILE unconditionally
    asm-generic: {get,put}_user ptr argument evaluate only 1 time
    h8300: bit io fix
    h8300: zImage fix
    h8300: register address fix
    h8300: Fix alignment for .data
    h8300: unaligned divcr register support.

    Linus Torvalds
     
  • Pull more power management and ACPI updates from Rafael Wysocki:
    "The only new feature in this batch is support for the ACPI _CCA device
    configuration object, which it a pre-requisite for future ACPI PCI
    support on ARM64, but should not affect the other architectures.

    The rest is fixes and cleanups, mostly in cpufreq (including
    intel_pstate), the Operating Performace Points (OPP) framework and
    tools (cpupower and turbostat).

    Specifics:

    - Support for the ACPI _CCA configuration object intended to tell the
    OS whether or not a bus master device supports hardware managed
    cache coherency and a new set of functions to allow drivers to
    check the cache coherency support for devices in a platform
    firmware interface agnostic way (Suravee Suthikulpanit, Jeremy
    Linton).

    - ACPI backlight quirks for ESPRIMO Mobile M9410 and Dell XPS L421X
    (Aaron Lu, Hans de Goede).

    - Fixes for the arm_big_little and s5pv210-cpufreq cpufreq drivers
    (Jon Medhurst, Nicolas Pitre).

    - kfree()-related fixup for the recently introduced CPPC cpufreq
    frontend (Markus Elfring).

    - intel_pstate fix reducing kernel log noise on systems where
    P-states are managed by hardware (Prarit Bhargava).

    - intel_pstate maintainers information update (Srinivas Pandruvada).

    - cpufreq core optimization related to the handling of delayed work
    items used by governors (Viresh Kumar).

    - Locking fixes and cleanups of the Operating Performance Points
    (OPP) framework (Viresh Kumar).

    - Generic power domains framework cleanups (Lina Iyer).

    - cpupower tool updates (Jacob Tanenbaum, Sriram Raghunathan, Thomas
    Renninger).

    - turbostat tool updates (Len Brown)"

    * tag 'pm+acpi-4.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
    PCI: ACPI: Add support for PCI device DMA coherency
    PCI: OF: Move of_pci_dma_configure() to pci_dma_configure()
    of/pci: Fix pci_get_host_bridge_device leak
    device property: ACPI: Remove unused DMA APIs
    device property: ACPI: Make use of the new DMA Attribute APIs
    device property: Adding DMA Attribute APIs for Generic Devices
    ACPI: Adding DMA Attribute APIs for ACPI Device
    device property: Introducing enum dev_dma_attr
    ACPI: Honor ACPI _CCA attribute setting
    cpufreq: CPPC: Delete an unnecessary check before the function call kfree()
    PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp()
    PM / OPP: Hold dev_opp_list_lock for writers
    PM / OPP: Protect updates to list_dev with mutex
    PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus()
    cpufreq: s5pv210-cpufreq: fix wrong do_div() usage
    MAINTAINERS: update for intel P-state driver
    Creating a common structure initialization pattern for struct option
    cpupower: Enable disabled Cstates if they are below max latency
    cpupower: Remove debug message when using cpupower idle-set -D switch
    cpupower: cpupower monitor reports uninitialized values for offline cpus
    ...

    Linus Torvalds
     
  • This masking prevents access to the end of the device via dax_do_io(),
    and is unnecessary as arch_add_memory() would have rejected an unaligned
    allocation.

    Cc:
    Cc: Ross Zwisler
    Signed-off-by: Dan Williams

    Dan Williams
     
  • Rather than punt on the numa node for these e820 ranges try to find a
    better answer with memory_add_physaddr_to_nid() when it is available.

    Cc:
    Reported-by: Boaz Harrosh
    Tested-by: Boaz Harrosh
    Signed-off-by: Dan Williams

    Dan Williams
     

12 Nov, 2015

17 commits

  • SCSI queue for 4.4.

    Signed-off-by: Martin K. Petersen

    James Bottomley
     
  • James Morris
     
  • Pull DeviceTree fixes from Rob Herring:

    - Add empty of_translate_address needed for HiSilicon network driver.

    - Fix alignment requirements for CMA regions in DT.

    - Fix booting on PPC systems which can't do WARN() early.

    - Rename ak4554 binding doc from .c to .txt.

    * tag 'devicetree-fixes-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    of: Provide static inline function for of_translate_address if needed
    drivers: of: of_reserved_mem: fixup the alignment with CMA setup
    of: Print rather than WARN'ing when overlap check fails
    dt-bindings: ak4554: extension should be .txt

    Linus Torvalds
     
  • Missing a include file caused compile error.

    drivers/thermal/rockchip_thermal.c: In function 'rockchip_thermal_suspend':
    drivers/thermal/rockchip_thermal.c:720:2: error: implicit declaration of function 'pinctrl_pm_select_sleep_state' [-Werror=implicit-function-declaration]
    ...

    Fixes: 7e38a5b1daa1 ("thermal: rockchip: support the sleep pinctrl state
    to avoid glitches")

    Reported-by: Stephen Rothwell
    Reported-by: kbuild test robot
    Signed-off-by: Caesar Wang
    Signed-off-by: Eduardo Valentin
    Signed-off-by: Linus Torvalds

    Caesar Wang
     
  • According to SPC-4, in a Mode Select, the PS bit in Mode Pages is
    reserved and must be set to 0 by the driver. In the sd implementation,
    function cache_type_store does a Mode Sense, which might set the PS bit
    on the read buffer, followed by a Mode Select, which receives the same
    buffer, without explicitly clearing the PS bit. So, in cases where
    target supports saving the Mode Page to a non-volatile location, we end
    up doing a Mode Select with the PS bit set, which could cause an illegal
    request error if the target is checking this.

    This was observed on a new firmware change, which was subsequently
    reverted, but this changes sd.c to be more compliant with SPC-4.

    This patch clears the PS bit in the buffer returned by Mode Select,
    right before it is used in the Mode Select command.

    Signed-off-by: Gabriel Krisman Bertazi
    Signed-off-by: Martin K. Petersen

    Gabriel Krisman Bertazi
     
  • As defined in 4.6.9 of SAM-4, the encoding of LUN is
    on 5 bits (max_lun=32) and the current value is only 8.
    Set max_lun to IBMVSCSI_MAX_LUN (32).

    Signed-off-by: Laurent Vivier
    Signed-off-by: Martin K. Petersen

    Laurent Vivier
     
  • As devices with values greater than that are silently ignored,
    this gives some hints to the sys admin to know why he doesn't see
    his devices...

    Signed-off-by: Laurent Vivier
    Signed-off-by: Martin K. Petersen

    Laurent Vivier
     
  • There is a static checker warning here because "bytes" is controlled by
    the user and we cap the upper bound with min() but allow negatives.
    Negative bytes will result in some nasty warning messages but are not
    super harmful. Anyway, no one needs negative bytes so let's just check
    for it and return NULL.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Martin K. Petersen

    Dan Carpenter
     
  • Replace the use of struct timeval and do_gettimeofday() with
    64 bit ktime_get_real_seconds. Prevents 32-bit type overflow
    in year 2038 on 32-bit systems.

    Driver was using the seconds portion of struct timeval (.tv_secs)
    to pass a millseconds timestamp to the firmware. This change maintains
    that same behavior using ktime_get_real_seconds.

    The structure used to pass the timestamp to firmware is 48 bits and
    works fine as long as the top 16 bits are zero and they will be zero
    for a long time..ie. thousands of years.

    Alternative Change: Add sub second granularity to timestamp

    As noted above, the driver only used the seconds portion of timeval,
    ignores the microseconds portion, and by multiplying by 1000 effectively
    does a <
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Martin K. Petersen

    Alison Schofield
     
  • struct mvumi_hs_page2 stores a "seconds_since1970" field which is of
    type u64. It is however, written to, using 'struct timeval' which has
    a 32-bit seconds field and whose value will overflow in year 2038.
    This patch uses ktime_get_real_seconds() instead since it provides a
    64-bit seconds value, which is 2038 safe.

    Signed-off-by: Tina Ruchandani
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Tina Ruchandani
     
  • drivers/scsi/be2iscsi/be_main.c: In function 'be_sgl_create_contiguous':
    drivers/scsi/be2iscsi/be_main.c:3187:18: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
    WARN_ON(!length > 0);

    gcc version 5.2.1

    Signed-off-by: Tim Gardner
    Cc: Jayamohan Kallickal
    Cc: Minh Tran
    Cc: John Soni Jose
    Cc: "James E.J. Bottomley"
    Reported-by: Joel Stanley
    Reviewed-by: Manoj Kumar
    Signed-off-by: Martin K. Petersen

    Tim Gardner
     
  • The only user of scsi_prep_async_scan() is scsi_scan_host() and it
    handles the situation correctly. Move 'called twice' reporting to debug
    level as well.

    The issue is observed on Hyper-V: on any device add/remove event storvsc
    driver calls scsi_scan_host() and in case previous scan is still running
    we get the message and stack dump on console.

    Signed-off-by: Vitaly Kuznetsov
    Reviewed-by: K. Y. Srinivasan
    Tested-by: Alex Ng
    Signed-off-by: K. Y. Srinivasan
    Signed-off-by: Martin K. Petersen

    Vitaly Kuznetsov
     
  • Bump mpt3sas driver version to 09.102.00.00

    Signed-off-by: Sreekanth Reddy
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Sreekanth Reddy
     
  • Modified the mpt3sas driver to have a single driver module which
    supports both SAS 2.0 & SAS 3.0 HBA devices.

    * Added SAS 2.0 HBA device IDs to the mpt3sas_pci_table pci table.

    * Created two separate SCSI host templates for SAS2 and SAS3 HBAs so
    that, during the driver load time driver can use corresponding host
    template(based the pci device ID) while registering a scsi host
    adapter instance for that pci device.

    * Registered two IOCTL devices, mpt2ctl is for SAS2 HBAs & mpt3ctl for
    SAS3 HBAs. Also updated the code to make sure that mpt2ctl device
    processes only those ioctl cmds issued for the SAS2 HBAs and mpt3ctl
    device processes only those ioctl cmds issued for the SAS3 HBAs.

    * Added separate indexing for SAS2 and SAS3 HBAs.

    * Replaced compile time check 'MPT2SAS_SCSI' to run time check
    'hba_mpi_version_belonged' whereever needed.

    * Aliased this merged driver to mpt2sas using MODULE_ALIAS.

    * Moved global varaible 'driver_name' to per adapter instance variable.

    * Created two raid function template and used corresponding raid
    function templates based on the run time check
    'hba_mpi_version_belonged'.

    * Moved mpt2sas_warpdrive.c file from mpt2sas to mpt3sas folder and
    renamed it as mpt3sas_warpdrive.c.

    * Also renamed the functions in mpt3sas_warpdrive.c file to follow
    current driver function name convention.

    * Updated the Makefile to build mpt3sas_warpdrive.o file for these
    WarpDrive-specific functions.

    * Also in function mpt3sas_setup_direct_io(), used sector_div() API
    instead of division operator (which gives compilation errors on 32 bit
    machines).

    * Removed mpt2sas files, mpt2sas directory & mpt3sas_module.c file.

    * Added module parameter 'hbas_to_enumerate' which permits using this
    merged driver as a legacy mpt2sas driver or as a legacy mpt3sas
    driver.

    Here are the available options for this module parameter:

    0 - Merged driver which enumerates both SAS 2.0 & SAS 3.0 HBAs
    1 - Acts as legacy mpt2sas driver, which enumerates only SAS 2.0 HBAs
    2 - Acts as legacy mpt3sas driver, which enumerates only SAS 3.0 HBAs

    * Removed mpt2sas entries from SCSI's Kconfig and Makefile files.

    Signed-off-by: Sreekanth Reddy
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Sreekanth Reddy
     
  • Bump the mpt2sas driver version to 20.102.00.00 and
    Bump the mpt3sas driver version to 9.101.00.00.

    Signed-off-by: Sreekanth Reddy
    Acked-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Sreekanth Reddy
     
  • setpci reset on nytro warpdrive card along with sysfs access and cli
    ioctl access resulted in kernel oops

    1. pci_access_mutex lock added to provide synchronization between IOCTL,
    sysfs, PCI resource handling path

    2. gioc_lock spinlock to protect list operations over multiple
    controllers

    This patch is ported from commit 6229b414b3ad ("mpt2sas: setpci reset
    kernel oops fix").

    Signed-off-by: Sreekanth Reddy
    Acked-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Sreekanth Reddy
     
  • Added OEM Gen2 PnP ID branding names from mpt2sas driver.

    Signed-off-by: Sreekanth Reddy
    Acked-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Sreekanth Reddy