13 Jan, 2019

1 commit

  • commit fdd669684655c07dacbdb0d753fd13833de69a33 upstream.

    Calling the test program genwqe_cksum with the default buffer size of
    2MB triggers the following kernel warning on s390:

    WARNING: CPU: 30 PID: 9311 at mm/page_alloc.c:3189 __alloc_pages_nodemask+0x45c/0xbe0
    CPU: 30 PID: 9311 Comm: genwqe_cksum Kdump: loaded Not tainted 3.10.0-957.el7.s390x #1
    task: 00000005e5d13980 ti: 00000005e7c6c000 task.ti: 00000005e7c6c000
    Krnl PSW : 0704c00180000000 00000000002780ac (__alloc_pages_nodemask+0x45c/0xbe0)
    R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3
    Krnl GPRS: 00000000002932b8 0000000000b73d7c 0000000000000010 0000000000000009
    0000000000000041 00000005e7c6f9b8 0000000000000001 00000000000080d0
    0000000000000000 0000000000b70500 0000000000000001 0000000000000000
    0000000000b70528 00000000007682c0 0000000000277df2 00000005e7c6f9a0
    Krnl Code: 000000000027809e: de7195001000 ed 1280(114,%r9),0(%r1)
    00000000002780a4: a774fead brc 7,277dfe
    #00000000002780a8: a7f40001 brc 15,2780aa
    >00000000002780ac: 92011000 mvi 0(%r1),1
    00000000002780b0: a7f4fea7 brc 15,277dfe
    00000000002780b4: 9101c6b6 tm 1718(%r12),1
    00000000002780b8: a784ff3a brc 8,277f2c
    00000000002780bc: a7f4fe2e brc 15,277d18
    Call Trace:
    ([] __alloc_pages_nodemask+0x1a2/0xbe0)
    [] s390_dma_alloc+0xfe/0x310
    [] __genwqe_alloc_consistent+0xfa/0x148 [genwqe_card]
    [] genwqe_mmap+0xca/0x248 [genwqe_card]
    [] mmap_region+0x4e2/0x778
    [] do_mmap+0x2ac/0x3e0
    [] vm_mmap_pgoff+0xd6/0x118
    [] SyS_mmap_pgoff+0xdc/0x268
    [] SyS_old_mmap+0x8c/0xb0
    [] sysc_tracego+0x14/0x1e
    [] 0x3ffacf87dc6

    turns out the check in __genwqe_alloc_consistent uses "> MAX_ORDER"
    while the mm code uses ">= MAX_ORDER". Fix genwqe.

    Cc: stable@vger.kernel.org
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Christian Borntraeger
     

14 Nov, 2018

1 commit

  • commit 0ab93e9c99f8208c0a1a7b7170c827936268c996 upstream.

    The genweq_add_file and genwqe_del_file by caching current without
    using reference counting embed the assumption that a file descriptor
    will never be passed from one process to another. It even embeds the
    assumption that the the thread that opened the file will be in
    existence when the process terminates. Neither of which are
    guaranteed to be true.

    Therefore replace caching the task_struct of the opener with
    pid of the openers thread group id. All the knowledge of the
    opener is used for is as the target of SIGKILL and a SIGKILL
    will kill the entire process group.

    Rename genwqe_force_sig to genwqe_terminate, remove it's unncessary
    signal argument, update it's ownly caller, and use kill_pid
    instead of force_sig.

    The work force_sig does in changing signal handling state is not
    relevant to SIGKILL sent as SEND_SIG_PRIV. The exact same processess
    will be killed just with less work, and less confusion. The work done
    by force_sig is really only needed for handling syncrhonous
    exceptions.

    It will still be possible to cause genwqe_device_remove to wait
    8 seconds by passing a file descriptor to another process but
    the possible user after free is fixed.

    Fixes: eaf4722d4645 ("GenWQE Character device and DDCB queue")
    Cc: stable@vger.kernel.org
    Cc: Greg Kroah-Hartman
    Cc: Frank Haverkamp
    Cc: Joerg-Stephan Vogt
    Cc: Michael Jung
    Cc: Michael Ruettger
    Cc: Kleber Sacilotto de Souza
    Cc: Sebastian Ott
    Cc: Eberhard S. Amann
    Cc: Gabriel Krisman Bertazi
    Cc: Guilherme G. Piccoli
    Signed-off-by: "Eric W. Biederman"
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     

02 Mar, 2017

1 commit


23 Feb, 2017

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver patchset for 4.11-rc1.

    Lots of different driver subsystems updated here: rework for the
    hyperv subsystem to handle new platforms better, mei and w1 and extcon
    driver updates, as well as a number of other "minor" driver updates.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (169 commits)
    goldfish: Sanitize the broken interrupt handler
    x86/platform/goldfish: Prevent unconditional loading
    vmbus: replace modulus operation with subtraction
    vmbus: constify parameters where possible
    vmbus: expose hv_begin/end_read
    vmbus: remove conditional locking of vmbus_write
    vmbus: add direct isr callback mode
    vmbus: change to per channel tasklet
    vmbus: put related per-cpu variable together
    vmbus: callback is in softirq not workqueue
    binder: Add support for file-descriptor arrays
    binder: Add support for scatter-gather
    binder: Add extra size to allocator
    binder: Refactor binder_transact()
    binder: Support multiple /dev instances
    binder: Deal with contexts in debugfs
    binder: Support multiple context managers
    binder: Split flat_binder_object
    auxdisplay: ht16k33: remove private workqueue
    auxdisplay: ht16k33: rework input device initialization
    ...

    Linus Torvalds
     

14 Jan, 2017

1 commit

  • Since we need to change the implementation, stop exposing internals.

    Provide kref_read() to read the current reference count; typically
    used for debug messages.

    Kills two anti-patterns:

    atomic_read(&kref->refcount)
    kref->refcount.counter

    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Andrew Morton
    Cc: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

11 Jan, 2017

1 commit


31 Oct, 2016

1 commit

  • Simply the interrupt setup by using the new PCI layer helpers.

    One odd thing about this driver is that it looks like it could request
    multiple MSI vectors, but it will then only ever use a single one.

    Signed-off-by: Christoph Hellwig
    Acked-by: Gabriel Krisman Bertazi
    Acked-by: Frank Haverkamp =
    Signed-off-by: Greg Kroah-Hartman

    Christoph Hellwig
     

28 Oct, 2016

1 commit

  • When interrupting an application which was allocating DMAable
    memory, it was possible, that the DMA memory was deallocated
    twice, leading to the error symptoms below.

    Thanks to Gerald, who analyzed the problem and provided this
    patch.

    I agree with his analysis of the problem: ddcb_cmd_fixups() ->
    genwqe_alloc_sync_sgl() (fails in f/lpage, but sgl->sgl != NULL
    and f/lpage maybe also != NULL) -> ddcb_cmd_cleanup() ->
    genwqe_free_sync_sgl() (double free, because sgl->sgl != NULL and
    f/lpage maybe also != NULL)

    In this scenario we would have exactly the kind of double free that
    would explain the WARNING / Bad page state, and as expected it is
    caused by broken error handling (cleanup).

    Using the Ubuntu git source, tag Ubuntu-4.4.0-33.52, he was able to reproduce
    the "Bad page state" issue, and with the patch on top he could not reproduce
    it any more.

    ------------[ cut here ]------------
    WARNING: at /build/linux-o03cxz/linux-4.4.0/arch/s390/include/asm/pci_dma.h:141
    Modules linked in: qeth_l2 ghash_s390 prng aes_s390 des_s390 des_generic sha512_s390 sha256_s390 sha1_s390 sha_common genwqe_card qeth crc_itu_t qdio ccwgroup vmur dm_multipath dasd_eckd_mod dasd_mod
    CPU: 2 PID: 3293 Comm: genwqe_gunzip Not tainted 4.4.0-33-generic #52-Ubuntu
    task: 0000000032c7e270 ti: 00000000324e4000 task.ti: 00000000324e4000
    Krnl PSW : 0404c00180000000 0000000000156346 (dma_update_cpu_trans+0x9e/0xa8)
    R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3
    Krnl GPRS: 00000000324e7bcd 0000000000c3c34a 0000000027628298 000000003215b400
    0000000000000400 0000000000001fff 0000000000000400 0000000116853000
    07000000324e7b1e 0000000000000001 0000000000000001 0000000000000001
    0000000000001000 0000000116854000 0000000000156402 00000000324e7a38
    Krnl Code: 000000000015633a: 95001000 cli 0(%r1),0
    000000000015633e: a774ffc3 brc 7,1562c4
    #0000000000156342: a7f40001 brc 15,156344
    >0000000000156346: 92011000 mvi 0(%r1),1
    000000000015634a: a7f4ffbd brc 15,1562c4
    000000000015634e: 0707 bcr 0,%r7
    0000000000156350: c00400000000 brcl 0,156350
    0000000000156356: eb7ff0500024 stmg %r7,%r15,80(%r15)
    Call Trace:
    ([] dma_update_trans+0x90/0x228)
    [] s390_dma_unmap_pages+0x64/0x160
    [] s390_dma_free+0x62/0x98
    [] __genwqe_free_consistent+0x56/0x70 [genwqe_card]
    [] genwqe_free_sync_sgl+0xf8/0x160 [genwqe_card]
    [] ddcb_cmd_cleanup+0x86/0xa8 [genwqe_card]
    [] do_execute_ddcb+0x110/0x348 [genwqe_card]
    [] genwqe_ioctl+0x51c/0xc20 [genwqe_card]
    [] do_vfs_ioctl+0x3b2/0x518
    [] SyS_ioctl+0xa4/0xb8
    [] system_call+0xd6/0x264
    [] 0x3ff9e8e520a
    Last Breaking-Event-Address:
    [] dma_update_cpu_trans+0x9a/0xa8
    ---[ end trace 35996336235145c8 ]---
    BUG: Bad page state in process jbd2/dasdb1-8 pfn:3215b
    page:000003d100c856c0 count:-1 mapcount:0 mapping: (null) index:0x0
    flags: 0x3fffc0000000000()
    page dumped because: nonzero _count

    Signed-off-by: Gerald Schaefer
    Signed-off-by: Frank Haverkamp
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Gerald Schaefer
     

27 Sep, 2016

1 commit

  • Genwqe uses dma_alloc_coherent and depends on zero initialized memory. On
    one occasion it ueses an explicit memset on others it uses un-initialized
    memory.

    This bug was covered because some archs actually return zero initialized
    memory when using dma_alloc_coherent but this is by no means guaranteed.
    Simply switch to dma_zalloc_coherent.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Ott
     

31 Aug, 2016

1 commit


22 Jun, 2016

1 commit

  • Now that we do have pci_request_mem_regions() and pci_release_mem_regions()
    at hand, use it in the genwqe driver.

    [bhelgaas: fix build issues]
    Suggested-by: Christoph Hellwig
    Signed-off-by: Johannes Thumshirn
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Christoph Hellwig
    CC: Frank Haverkamp
    CC: Greg Kroah-Hartman

    Johannes Thumshirn
     

09 Feb, 2016

1 commit


04 Oct, 2015

2 commits

  • Just fix a typo in the code comment.

    Signed-off-by: Geliang Tang
    Signed-off-by: Greg Kroah-Hartman

    Geliang Tang
     
  • we received reports of failed allocations in genwqe code:

    [ 733.550955] genwqe_gzip: page allocation failure: order:1, mode:0x20
    [ 733.550964] CPU: 2 PID: 1846 Comm: genwqe_gzip Not tainted 4.3.0-rc3-00042-g3225031 #78
    [ 733.550968] 000000002782b830 000000002782b8c0 0000000000000002 0000000000000000
    000000002782b960 000000002782b8d8 000000002782b8d8 00000000001134a0
    0000000000000000 0000000000892b2a 0000000000871d0a 000000000000000b
    000000002782b920 000000002782b8c0 0000000000000000 0000000000000000
    0000000000000000 00000000001134a0 000000002782b8c0 000000002782b920
    [ 733.551003] Call Trace:
    [ 733.551013] ([] show_trace+0xf8/0x158)
    [ 733.551018] [] show_stack+0x6a/0xe8
    [ 733.551024] [] dump_stack+0x7c/0xd8
    [ 733.551031] [] warn_alloc_failed+0xda/0x150
    [ 733.551036] [] __alloc_pages_nodemask+0x94e/0xbc0
    [ 733.551041] [] s390_dma_alloc+0x70/0x1a0
    [ 733.551054] [] __genwqe_alloc_consistent+0x84/0xd0 [genwqe_card]
    [ 733.551063] [] genwqe_alloc_sync_sgl+0x13a/0x328 [genwqe_card]
    [ 733.551066] [] do_execute_ddcb+0x1f8/0x388 [genwqe_card]
    [ 733.551069] [] genwqe_ioctl+0x598/0xd50 [genwqe_card]
    [ 733.551072] [] do_vfs_ioctl+0x3f4/0x590
    [ 733.551074] [] SyS_ioctl+0x9e/0xb0
    [ 733.551078] [] system_call+0xd6/0x258
    [ 733.551080] [] 0x3fffd25819a
    [ 733.551082] no locks held by genwqe_gzip/1846.

    This specific allocation and some others in genwqe are unnecessary flagged
    as atomic.

    All of genwqe's atomic allocations happen in a context where it's allowed
    to sleep. Change these to use GFP_KERNEL.

    Signed-off-by: Sebastian Ott
    Acked-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Ott
     

11 Sep, 2015

1 commit

  • With two exceptions (drm/qxl and drm/radeon) all vm_operations_struct
    structs should be constant.

    Signed-off-by: Kirill A. Shutemov
    Reviewed-by: Oleg Nesterov
    Cc: "H. Peter Anvin"
    Cc: Andy Lutomirski
    Cc: Dave Hansen
    Cc: Ingo Molnar
    Cc: Minchan Kim
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

12 Jan, 2015

1 commit


15 Dec, 2014

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver update for 3.19-rc1

    Lots of little things all over the place in different drivers, and a
    new subsystem, "coresight" has been added. Full details are in the
    shortlog"

    * tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (73 commits)
    parport: parport_pc, do not remove parent devices early
    spmi: Remove shutdown/suspend/resume kernel-doc
    carma-fpga-program: drop videobuf dependency
    carma-fpga: drop videobuf dependency
    carma-fpga-program.c: fix compile errors
    i8k: Fix temperature bug handling in i8k_get_temp()
    cxl: Name interrupts in /proc/interrupt
    CXL: Return error to PSL if IRQ demultiplexing fails & print clearer warning
    coresight-replicator: remove .owner field for driver
    coresight: fixed comments in coresight.h
    coresight: fix typo in comment in coresight-priv.h
    coresight: bindings for coresight drivers
    coresight: Adding ABI documentation
    w1: support auto-load of w1_bq27000 module.
    w1: avoid potential u16 overflow
    cn: verify msg->len before making callback
    mei: export fw status registers through sysfs
    mei: read and print all six FW status registers
    mei: txe: add cherrytrail device id
    mei: kill cached host and me csr values
    ...

    Linus Torvalds
     

20 Nov, 2014

1 commit


08 Nov, 2014

1 commit

  • `genwqe_user_vmap()` calls `get_user_pages_fast()` and if the return
    value is less than the number of pages requested, it frees the pages and
    returns an error (`-EFAULT`). However, it fails to consider a negative
    error return value from `get_user_pages_fast()`. In that case, the test
    `if (rc < m->nr_pages)` will be false (due to promotion of `rc` to a
    large `unsigned int`) and the code will continue on to call
    `genwqe_map_pages()` with an invalid list of page pointers. Fix it by
    bailing out if `get_user_pages_fast()` returns a negative error value.

    Signed-off-by: Ian Abbott
    Cc: # 3.14.x # 3.15.x # 3.16.x # 3.17.x
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     

24 Sep, 2014

8 commits


19 Jul, 2014

1 commit


11 Jul, 2014

1 commit


10 Jul, 2014

5 commits

  • GenWQE used to call pci_enable_msi_block to allocate a desired number
    of MSI's. If that was not possible pci_enable_msi_block returned with a
    smaller number which might be possible to allocate. GenWQE then called
    pci_enable_msi_block with that number.

    Since commit a30d0108b
    "GenWQE: Use pci_enable_msi_exact() instead of pci_enable_msi_block()"
    pci_enable_msi_exact is used which fails if the desired number of MSI's
    was not possible to allocate. Change GenWQE to use pci_enable_msi_range
    to restore the old behavior.

    Signed-off-by: Sebastian Ott
    Reviewed-by: Alexander Gordeev
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Ott
     
  • Increase genwqe driver version number.

    Signed-off-by: Kleber Sacilotto de Souza
    Acked-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Kleber Sacilotto de Souza
     
  • Currently, in the event of a fatal hardware error, the driver tries a
    recovery procedure that calls pci_reset_function() to reset the card.
    This is not sufficient in some cases, needing a fundamental reset to
    bring the card back.

    This patch implements a call to the platform fundamental reset procedure
    on the error recovery path if GENWQE_PLATFORM_ERROR_RECOVERY is enabled.
    This is implemented by default only on PPC64, since this can cause
    problems on other archs, e.g. zSeries, where the platform has its own
    recovery procedures, leading to a potencial race conditition. For these
    cases, the recovery is kept as it was before.

    Signed-off-by: Kleber Sacilotto de Souza
    Acked-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Kleber Sacilotto de Souza
     
  • This patch implements the callbacks and functions necessary to have EEH
    recovery support.

    It adds a config option to enable or disable explicit calls to trigger
    platform specific mechanisms on error recovery paths. This option is
    enabled by default only on PPC64 systems and can be overritten via
    debugfs. If this option is enabled, on the error recovery path the
    driver will call pci_channel_offline() to check for error condition and
    issue non-raw MMIO reads to trigger early EEH detection in case of
    hardware failures. This is necessary since the driver MMIO helper
    funtions use raw accessors.

    Signed-off-by: Kleber Sacilotto de Souza
    Acked-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Kleber Sacilotto de Souza
     
  • This patch adds an interface on sysfs for userspace to request a card
    bitstream reload. It sets the appropriate register and try to perform a
    fundamental reset on the PCIe slot for the card to reload the bitstream
    from the chosen partition.

    Signed-off-by: Kleber Sacilotto de Souza
    Acked-by: Frank Haverkamp
    Signed-off-by: Greg Kroah-Hartman

    Kleber Sacilotto de Souza
     

03 Jun, 2014

2 commits

  • …gregkh/char-misc into next

    Pull char/misc driver patches from Greg KH:
    "Here is the big char / misc driver update for 3.16-rc1.

    Lots of different driver updates for a variety of different drivers
    and minor driver subsystems.

    All have been in linux-next with no reported issues"

    * tag 'char-misc-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (79 commits)
    hv: use correct order when freeing monitor_pages
    spmi: of: fixup generic SPMI devicetree binding example
    applicom: dereferencing NULL on error path
    misc: genwqe: fix uninitialized return value in genwqe_free_sync_sgl()
    miscdevice.h: Simple syntax fix to make pointers consistent.
    MAINTAINERS: Add miscdevice.h to file list for char/misc drivers.
    mcb: Add support for shared PCI IRQs
    drivers: Remove duplicate conditionally included subdirs
    misc: atmel_pwm: only build for supported platforms
    mei: me: move probe quirk to cfg structure
    mei: add per device configuration
    mei: me: read H_CSR after asserting reset
    mei: me: drop harmful wait optimization
    mei: me: fix hw ready reset flow
    mei: fix memory leak of mei_clients array
    uio: fix vma io range check in mmap
    drivers: uio_dmem_genirq: Fix memory leak in uio_dmem_genirq_probe()
    w1: do not unlock unheld list_mutex in __w1_remove_master_device()
    w1: optional bundling of netlink kernel replies
    connector: allow multiple messages to be sent in one packet
    ...

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "Enumeration
    - Notify driver before and after device reset (Keith Busch)
    - Use reset notification in NVMe (Keith Busch)

    NUMA
    - Warn if we have to guess host bridge node information (Myron Stowe)
    - Work around AMD Fam15h BIOSes that fail to provide _PXM (Suravee
    Suthikulpanit)
    - Clean up and mark early_root_info_init() as deprecated (Suravee
    Suthikulpanit)

    Driver binding
    - Add "driver_override" for force specific binding (Alex Williamson)
    - Fail "new_id" addition for devices we already know about (Bandan
    Das)

    Resource management
    - Support BAR sizes up to 8GB (Nikhil Rao, Alan Cox)
    - Don't move IORESOURCE_PCI_FIXED resources (Bjorn Helgaas)
    - Mark SBx00 HPET BAR as IORESOURCE_PCI_FIXED (Bjorn Helgaas)
    - Fail safely if we can't handle BARs larger than 4GB (Bjorn Helgaas)
    - Reject BAR above 4GB if dma_addr_t is too small (Bjorn Helgaas)
    - Don't convert BAR address to resource if dma_addr_t is too small
    (Bjorn Helgaas)
    - Don't set BAR to zero if dma_addr_t is too small (Bjorn Helgaas)
    - Don't print anything while decoding is disabled (Bjorn Helgaas)
    - Don't add disabled subtractive decode bus resources (Bjorn Helgaas)
    - Add resource allocation comments (Bjorn Helgaas)
    - Restrict 64-bit prefetchable bridge windows to 64-bit resources
    (Yinghai Lu)
    - Assign i82875p_edac PCI resources before adding device (Yinghai Lu)

    PCI device hotplug
    - Remove unnecessary "dev->bus" test (Bjorn Helgaas)
    - Use PCI_EXP_SLTCAP_PSN define (Bjorn Helgaas)
    - Fix rphahp endianess issues (Laurent Dufour)
    - Acknowledge spurious "cmd completed" event (Rajat Jain)
    - Allow hotplug service drivers to operate in polling mode (Rajat Jain)
    - Fix cpqphp possible NULL dereference (Rickard Strandqvist)

    MSI
    - Replace pci_enable_msi_block() by pci_enable_msi_exact()
    (Alexander Gordeev)
    - Replace pci_enable_msix() by pci_enable_msix_exact() (Alexander Gordeev)
    - Simplify populate_msi_sysfs() (Jan Beulich)

    Virtualization
    - Add Intel Patsburg (X79) root port ACS quirk (Alex Williamson)
    - Mark RTL8110SC INTx masking as broken (Alex Williamson)

    Generic host bridge driver
    - Add generic PCI host controller driver (Will Deacon)

    Freescale i.MX6
    - Use new clock names (Lucas Stach)
    - Drop old IRQ mapping (Lucas Stach)
    - Remove optional (and unused) IRQs (Lucas Stach)
    - Add support for MSI (Lucas Stach)
    - Fix imx6_add_pcie_port() section mismatch warning (Sachin Kamat)

    Renesas R-Car
    - Add gen2 device tree support (Ben Dooks)
    - Use new OF interrupt mapping when possible (Lucas Stach)
    - Add PCIe driver (Phil Edworthy)
    - Add PCIe MSI support (Phil Edworthy)
    - Add PCIe device tree bindings (Phil Edworthy)

    Samsung Exynos
    - Remove unnecessary OOM messages (Jingoo Han)
    - Fix add_pcie_port() section mismatch warning (Sachin Kamat)

    Synopsys DesignWare
    - Make MSI ISR shared IRQ aware (Lucas Stach)

    Miscellaneous
    - Check for broken config space aliasing (Alex Williamson)
    - Update email address (Ben Hutchings)
    - Fix Broadcom CNB20LE unintended sign extension (Bjorn Helgaas)
    - Fix incorrect vgaarb conditional in WARN_ON() (Bjorn Helgaas)
    - Remove unnecessary __ref annotations (Bjorn Helgaas)
    - Add arch/x86/kernel/quirks.c to MAINTAINERS PCI file patterns
    (Bjorn Helgaas)
    - Fix use of uninitialized MPS value (Bjorn Helgaas)
    - Tidy x86/gart messages (Bjorn Helgaas)
    - Fix return value from pci_user_{read,write}_config_*() (Gavin Shan)
    - Turn pcibios_penalize_isa_irq() into a weak function (Hanjun Guo)
    - Remove unused serial device IDs (Jean Delvare)
    - Use designated initialization in PCI_VDEVICE (Mark Rustad)
    - Fix powerpc NULL dereference in pci_root_buses traversal (Mike Qiu)
    - Configure MPS on ARM (Murali Karicheri)
    - Remove unnecessary includes of (Paul Gortmaker)
    - Move Open Firmware devspec attribute to PCI common code (Sebastian Ott)
    - Use pdev->dev.groups for attribute creation on s390 (Sebastian Ott)
    - Remove pcibios_add_platform_entries() (Sebastian Ott)
    - Add new ID for Intel GPU "spurious interrupt" quirk (Thomas Jarosch)
    - Rename pci_is_bridge() to pci_has_subordinate() (Yijing Wang)
    - Add and use new pci_is_bridge() interface (Yijing Wang)
    - Make pci_bus_add_device() void (Yijing Wang)

    DMA API
    - Clarify physical/bus address distinction in docs (Bjorn Helgaas)
    - Fix typos in docs (Emilio López)
    - Update dma_pool_create ()and dma_pool_alloc() descriptions (Gioh Kim)
    - Change dma_declare_coherent_memory() CPU address to phys_addr_t
    (Bjorn Helgaas)
    - Pass GAPSPCI_DMA_BASE CPU & bus address to dma_declare_coherent_memory()
    (Bjorn Helgaas)"

    * tag 'pci-v3.16-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (92 commits)
    MAINTAINERS: Add generic PCI host controller driver
    PCI: generic: Add generic PCI host controller driver
    PCI: imx6: Add support for MSI
    PCI: designware: Make MSI ISR shared IRQ aware
    PCI: imx6: Remove optional (and unused) IRQs
    PCI: imx6: Drop old IRQ mapping
    PCI: imx6: Use new clock names
    i82875p_edac: Assign PCI resources before adding device
    ARM/PCI: Call pcie_bus_configure_settings() to set MPS
    PCI: imx6: Fix imx6_add_pcie_port() section mismatch warning
    PCI: Make pci_bus_add_device() void
    PCI: exynos: Fix add_pcie_port() section mismatch warning
    PCI: Introduce new device binding path using pci_dev.driver_override
    PCI: rcar: Add gen2 device tree support
    PCI: cpqphp: Fix possible null pointer dereference
    PCI: rcar: Add R-Car PCIe device tree bindings
    PCI: rcar: Add MSI support for PCIe
    PCI: rcar: Add Renesas R-Car PCIe driver
    PCI: Fix return value from pci_user_{read,write}_config_*()
    PCI: exynos: Remove unnecessary OOM messages
    ...

    Linus Torvalds
     

28 May, 2014

1 commit


04 May, 2014

1 commit


26 Apr, 2014

1 commit

  • As result of deprecation of MSI-X/MSI enablement functions
    pci_enable_msix() and pci_enable_msi_block() all drivers using these two
    interfaces need to be updated to use the new pci_enable_msi_range() or
    pci_enable_msi_exact() and pci_enable_msix_range() or
    pci_enable_msix_exact() interfaces.

    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas
    Acked-by: Frank Haverkamp
    Acked-by: Greg Kroah-Hartman

    Alexander Gordeev
     

17 Apr, 2014

1 commit