1. 13 Feb, 2014 2 commits
  2. 06 Feb, 2014 13 commits
    • andrea.merello's avatar
      rtl8180: Add error check for pci_map_single return value in TX path · 348f7d4a
      andrea.merello authored
      Orignal code will not detect a DMA mapping failure, causing the HW
      to attempt a DMA from an invalid address.
      
      This patch add the error check and eventually simply drops the TX
      packet if we can't map it for DMA.
      Signed-off-by: default avatarandrea merello <andrea.merello@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      348f7d4a
    • andrea.merello's avatar
      rtl8180: Add error check for pci_map_single return value in RX path · 2b4db05e
      andrea.merello authored
      In original code the old RX DMA buffer is unmapped and processed and at the end
      of the isr a new buffer is mapped with pci_map_single and attached to the RX
      descriptor.
      
      If pci_map_single fails then the RX descriptor remains with no valid DMA buffer
      attached.
      In this condition the DMA will target where it shouldn't with obvious evil
      consequences.
      
      Simply avoiding re-arming the descriptor will prevent buggy DMA but it will
      result soon in RX stuck.
      
      This patch move the DMA mapping of the new buffer at the beginning of the ISR
      (and it adds error check for pci_map_single success/fail).
      
      If the DMA mapping fails then we do not unmap the old buffer and we re-arm the
      descriptor without processing it, with the old DMA buffer still attached.
      
      In this way we lose the currently RX-ed packet, but whenever next calls to
      pci_map_single will succeed again,then the RX process will go on without stuck.
      Signed-off-by: default avatarandrea merello <andrea.merello@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2b4db05e
    • John W. Linville's avatar
    • Johannes Berg's avatar
      mac80211: fix virtual monitor interface iteration · fab57a6c
      Johannes Berg authored
      During channel context assignment, the interface should
      be found by interface iteration, so we need to assign the
      pointer before the channel context.
      Reported-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Tested-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      fab57a6c
    • Johannes Berg's avatar
      mac80211: fix fragmentation code, particularly for encryption · 338f977f
      Johannes Berg authored
      The "new" fragmentation code (since my rewrite almost 5 years ago)
      erroneously sets skb->len rather than using skb_trim() to adjust
      the length of the first fragment after copying out all the others.
      This leaves the skb tail pointer pointing to after where the data
      originally ended, and thus causes the encryption MIC to be written
      at that point, rather than where it belongs: immediately after the
      data.
      
      The impact of this is that if software encryption is done, then
       a) encryption doesn't work for the first fragment, the connection
          becomes unusable as the first fragment will never be properly
          verified at the receiver, the MIC is practically guaranteed to
          be wrong
       b) we leak up to 8 bytes of plaintext (!) of the packet out into
          the air
      
      This is only mitigated by the fact that many devices are capable
      of doing encryption in hardware, in which case this can't happen
      as the tail pointer is irrelevant in that case. Additionally,
      fragmentation is not used very frequently and would normally have
      to be configured manually.
      
      Fix this by using skb_trim() properly.
      
      Cc: stable@vger.kernel.org
      Fixes: 2de8e0d9 ("mac80211: rewrite fragmentation")
      Reported-by: default avatarJouni Malinen <j@w1.fi>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      338f977f
    • Sujith Manoharan's avatar
      mac80211: Fix IBSS disconnect · d4c80d9d
      Sujith Manoharan authored
      Currently, when a station leaves an IBSS network, the
      corresponding BSS is not dropped from cfg80211 if there are
      other active stations in the network. But, the small
      window that is present when trying to determine a station's
      status based on IEEE80211_IBSS_MERGE_INTERVAL introduces
      a race.
      
      Instead of trying to keep the BSS, always remove it when
      leaving an IBSS network. There is not much benefit to retain
      the BSS entry since it will be added with a subsequent join
      operation.
      
      This fixes an issue where a dangling BSS entry causes ath9k
      to wait for a beacon indefinitely.
      
      Cc: <stable@vger.kernel.org>
      Reported-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      d4c80d9d
    • Emmanuel Grumbach's avatar
      mac80211: release the channel in error path in start_ap · 0297ea17
      Emmanuel Grumbach authored
      When the driver cannot start the AP or when the assignement
      of the beacon goes wrong, we need to unassign the vif.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      0297ea17
    • Johannes Berg's avatar
      cfg80211: send scan results from work queue · f9d15d16
      Johannes Berg authored
      Due to the previous commit, when a scan finishes, it is in theory
      possible to hit the following sequence:
       1. interface starts being removed
       2. scan is cancelled by driver and cfg80211 is notified
       3. scan done work is scheduled
       4. interface is removed completely, rdev->scan_req is freed,
          event sent to userspace but scan done work remains pending
       5. new scan is requested on another virtual interface
       6. scan done work runs, freeing the still-running scan
      
      To fix this situation, hang on to the scan done message and block
      new scans while that is the case, and only send the message from
      the work function, regardless of whether the scan_req is already
      freed from interface removal. This makes step 5 above impossible
      and changes step 6 to be
       5. scan done work runs, sending the scan done message
      
      As this can't work for wext, so we send the message immediately,
      but this shouldn't be an issue since we still return -EBUSY.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      f9d15d16
    • Johannes Berg's avatar
      cfg80211: fix scan done race · a617302c
      Johannes Berg authored
      When an interface/wdev is removed, any ongoing scan should be
      cancelled by the driver. This will make it call cfg80211, which
      only queues a work struct. If interface/wdev removal is quick
      enough, this can leave the scan request pending and processed
      only after the interface is gone, causing a use-after-free.
      
      Fix this by making sure the scan request is not pending after
      the interface is destroyed. We can't flush or cancel the work
      item due to locking concerns, but when it'll run it shouldn't
      find anything to do. This leaves a potential issue, if a new
      scan gets requested before the work runs, it prematurely stops
      the running scan, potentially causing another crash. I'll fix
      that in the next patch.
      
      This was particularly observed with P2P_DEVICE wdevs, likely
      because freeing them is quicker than freeing netdevs.
      Reported-by: default avatarAndrei Otcheretianski <andrei.otcheretianski@intel.com>
      Fixes: 4a58e7c3 ("cfg80211: don't "leak" uncompleted scans")
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      a617302c
    • Emmanuel Grumbach's avatar
      mac80211: avoid deadlock revealed by lockdep · 8ffcc704
      Emmanuel Grumbach authored
      sdata->u.ap.request_smps_work can’t be flushed synchronously
      under wdev_lock(wdev) since ieee80211_request_smps_ap_work
      itself locks the same lock.
      While at it, reset the driver_smps_mode when the ap is
      stopped to its default: OFF.
      
      This solves:
      
      ======================================================
      [ INFO: possible circular locking dependency detected ]
      3.12.0-ipeer+ #2 Tainted: G           O
      -------------------------------------------------------
      rmmod/2867 is trying to acquire lock:
        ((&sdata->u.ap.request_smps_work)){+.+...}, at: [<c105b8d0>] flush_work+0x0/0x90
      
      but task is already holding lock:
        (&wdev->mtx){+.+.+.}, at: [<f9b32626>] cfg80211_stop_ap+0x26/0x230 [cfg80211]
      
      which lock already depends on the new lock.
      
      the existing dependency chain (in reverse order) is:
      
      -> #1 (&wdev->mtx){+.+.+.}:
              [<c10aefa9>] lock_acquire+0x79/0xe0
              [<c1607a1a>] mutex_lock_nested+0x4a/0x360
              [<fb06288b>] ieee80211_request_smps_ap_work+0x2b/0x50 [mac80211]
              [<c105cdd8>] process_one_work+0x198/0x450
              [<c105d469>] worker_thread+0xf9/0x320
              [<c10669ff>] kthread+0x9f/0xb0
              [<c1613397>] ret_from_kernel_thread+0x1b/0x28
      
      -> #0 ((&sdata->u.ap.request_smps_work)){+.+...}:
              [<c10ae9df>] __lock_acquire+0x183f/0x1910
              [<c10aefa9>] lock_acquire+0x79/0xe0
              [<c105b917>] flush_work+0x47/0x90
              [<c105d867>] __cancel_work_timer+0x67/0xe0
              [<c105d90f>] cancel_work_sync+0xf/0x20
              [<fb0765cc>] ieee80211_stop_ap+0x8c/0x340 [mac80211]
              [<f9b3268c>] cfg80211_stop_ap+0x8c/0x230 [cfg80211]
              [<f9b0d8f9>] cfg80211_leave+0x79/0x100 [cfg80211]
              [<f9b0da72>] cfg80211_netdev_notifier_call+0xf2/0x4f0 [cfg80211]
              [<c160f2c9>] notifier_call_chain+0x59/0x130
              [<c106c6de>] __raw_notifier_call_chain+0x1e/0x30
              [<c106c70f>] raw_notifier_call_chain+0x1f/0x30
              [<c14f8213>] call_netdevice_notifiers_info+0x33/0x70
              [<c14f8263>] call_netdevice_notifiers+0x13/0x20
              [<c14f82a4>] __dev_close_many+0x34/0xb0
              [<c14f83fe>] dev_close_many+0x6e/0xc0
              [<c14f9c77>] rollback_registered_many+0xa7/0x1f0
              [<c14f9dd4>] unregister_netdevice_many+0x14/0x60
              [<fb06f4d9>] ieee80211_remove_interfaces+0xe9/0x170 [mac80211]
              [<fb055116>] ieee80211_unregister_hw+0x56/0x110 [mac80211]
              [<fa3e9396>] iwl_op_mode_mvm_stop+0x26/0xe0 [iwlmvm]
              [<f9b9d8ca>] _iwl_op_mode_stop+0x3a/0x70 [iwlwifi]
              [<f9b9d96f>] iwl_opmode_deregister+0x6f/0x90 [iwlwifi]
              [<fa405179>] __exit_compat+0xd/0x19 [iwlmvm]
              [<c10b8bf9>] SyS_delete_module+0x179/0x2b0
              [<c1613421>] sysenter_do_call+0x12/0x32
      
      Fixes: 687da132 ("mac80211: implement SMPS for AP")
      Cc: <stable@vger.kernel.org> [3.13]
      Reported-by: default avatarIlan Peer <ilan.peer@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      8ffcc704
    • Johannes Berg's avatar
      cfg80211: re-enable 5/10 MHz support · 5a6aa705
      Johannes Berg authored
      Unfortunately I forgot this during the merge window, but the
      patch seems small enough to go in as a fix. The userspace API
      bug that was the reason for disabling it has long been fixed.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      5a6aa705
    • Pontus Fuchs's avatar
      nl80211: Reset split_start when netlink skb is exhausted · f12cb289
      Pontus Fuchs authored
      When the netlink skb is exhausted split_start is left set. In the
      subsequent retry, with a larger buffer, the dump is continued from the
      failing point instead of from the beginning.
      
      This was causing my rt28xx based USB dongle to now show up when
      running "iw list" with an old iw version without split dump support.
      
      Cc: stable@vger.kernel.org
      Fixes: 3713b4e3 ("nl80211: allow splitting wiphy information in dumps")
      Signed-off-by: default avatarPontus Fuchs <pontus.fuchs@gmail.com>
      [avoid the entire workaround when state->split is set]
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      f12cb289
    • Eliad Peller's avatar
      mac80211: move roc cookie assignment earlier · 2f617435
      Eliad Peller authored
      ieee80211_start_roc_work() might add a new roc
      to existing roc, and tell cfg80211 it has already
      started.
      
      However, this might happen before the roc cookie
      was set, resulting in REMAIN_ON_CHANNEL (started)
      event with null cookie. Consequently, it can make
      wpa_supplicant go out of sync.
      
      Fix it by setting the roc cookie earlier.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      2f617435
  3. 04 Feb, 2014 10 commits
  4. 02 Feb, 2014 2 commits
  5. 30 Jan, 2014 13 commits
    • Linus Torvalds's avatar
      Merge branch 'for-3.14/drivers' of git://git.kernel.dk/linux-block · 53d8ab29
      Linus Torvalds authored
      Pull block IO driver changes from Jens Axboe:
      
       - bcache update from Kent Overstreet.
      
       - two bcache fixes from Nicholas Swenson.
      
       - cciss pci init error fix from Andrew.
      
       - underflow fix in the parallel IDE pg_write code from Dan Carpenter.
         I'm sure the 1 (or 0) users of that are now happy.
      
       - two PCI related fixes for sx8 from Jingoo Han.
      
       - floppy init fix for first block read from Jiri Kosina.
      
       - pktcdvd error return miss fix from Julia Lawall.
      
       - removal of IRQF_SHARED from the SEGA Dreamcast CD-ROM code from
         Michael Opdenacker.
      
       - comment typo fix for the loop driver from Olaf Hering.
      
       - potential oops fix for null_blk from Raghavendra K T.
      
       - two fixes from Sam Bradshaw (Micron) for the mtip32xx driver, fixing
         an OOM problem and a problem with handling security locked conditions
      
      * 'for-3.14/drivers' of git://git.kernel.dk/linux-block: (47 commits)
        mg_disk: Spelling s/finised/finished/
        null_blk: Null pointer deference problem in alloc_page_buffers
        mtip32xx: Correctly handle security locked condition
        mtip32xx: Make SGL container per-command to eliminate high order dma allocation
        drivers/block/loop.c: fix comment typo in loop_config_discard
        drivers/block/cciss.c:cciss_init_one(): use proper errnos
        drivers/block/paride/pg.c: underflow bug in pg_write()
        drivers/block/sx8.c: remove unnecessary pci_set_drvdata()
        drivers/block/sx8.c: use module_pci_driver()
        floppy: bail out in open() if drive is not responding to block0 read
        bcache: Fix auxiliary search trees for key size > cacheline size
        bcache: Don't return -EINTR when insert finished
        bcache: Improve bucket_prio() calculation
        bcache: Add bch_bkey_equal_header()
        bcache: update bch_bkey_try_merge
        bcache: Move insert_fixup() to btree_keys_ops
        bcache: Convert sorting to btree_keys
        bcache: Convert debug code to btree_keys
        bcache: Convert btree_iter to struct btree_keys
        bcache: Refactor bset_tree sysfs stats
        ...
      53d8ab29
    • Linus Torvalds's avatar
      Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-block · f568849e
      Linus Torvalds authored
      Pull core block IO changes from Jens Axboe:
       "The major piece in here is the immutable bio_ve series from Kent, the
        rest is fairly minor.  It was supposed to go in last round, but
        various issues pushed it to this release instead.  The pull request
        contains:
      
         - Various smaller blk-mq fixes from different folks.  Nothing major
           here, just minor fixes and cleanups.
      
         - Fix for a memory leak in the error path in the block ioctl code
           from Christian Engelmayer.
      
         - Header export fix from CaiZhiyong.
      
         - Finally the immutable biovec changes from Kent Overstreet.  This
           enables some nice future work on making arbitrarily sized bios
           possible, and splitting more efficient.  Related fixes to immutable
           bio_vecs:
      
              - dm-cache immutable fixup from Mike Snitzer.
              - btrfs immutable fixup from Muthu Kumar.
      
        - bio-integrity fix from Nic Bellinger, which is also going to stable"
      
      * 'for-3.14/core' of git://git.kernel.dk/linux-block: (44 commits)
        xtensa: fixup simdisk driver to work with immutable bio_vecs
        block/blk-mq-cpu.c: use hotcpu_notifier()
        blk-mq: for_each_* macro correctness
        block: Fix memory leak in rw_copy_check_uvector() handling
        bio-integrity: Fix bio_integrity_verify segment start bug
        block: remove unrelated header files and export symbol
        blk-mq: uses page->list incorrectly
        blk-mq: use __smp_call_function_single directly
        btrfs: fix missing increment of bi_remaining
        Revert "block: Warn and free bio if bi_end_io is not set"
        block: Warn and free bio if bi_end_io is not set
        blk-mq: fix initializing request's start time
        block: blk-mq: don't export blk_mq_free_queue()
        block: blk-mq: make blk_sync_queue support mq
        block: blk-mq: support draining mq queue
        dm cache: increment bi_remaining when bi_end_io is restored
        block: fixup for generic bio chaining
        block: Really silence spurious compiler warnings
        block: Silence spurious compiler warnings
        block: Kill bio_pair_split()
        ...
      f568849e
    • Linus Torvalds's avatar
      Merge branch 'for-3.14' of git://linux-nfs.org/~bfields/linux · d9894c22
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       - Handle some loose ends from the vfs read delegation support.
         (For example nfsd can stop breaking leases on its own in a
          fewer places where it can now depend on the vfs to.)
       - Make life a little easier for NFSv4-only configurations
         (thanks to Kinglong Mee).
       - Fix some gss-proxy problems (thanks Jeff Layton).
       - miscellaneous bug fixes and cleanup
      
      * 'for-3.14' of git://linux-nfs.org/~bfields/linux: (38 commits)
        nfsd: consider CLAIM_FH when handing out delegation
        nfsd4: fix delegation-unlink/rename race
        nfsd4: delay setting current_fh in open
        nfsd4: minor nfs4_setlease cleanup
        gss_krb5: use lcm from kernel lib
        nfsd4: decrease nfsd4_encode_fattr stack usage
        nfsd: fix encode_entryplus_baggage stack usage
        nfsd4: simplify xdr encoding of nfsv4 names
        nfsd4: encode_rdattr_error cleanup
        nfsd4: nfsd4_encode_fattr cleanup
        minor svcauth_gss.c cleanup
        nfsd4: better VERIFY comment
        nfsd4: break only delegations when appropriate
        NFSD: Fix a memory leak in nfsd4_create_session
        sunrpc: get rid of use_gssp_lock
        sunrpc: fix potential race between setting use_gss_proxy and the upcall rpc_clnt
        sunrpc: don't wait for write before allowing reads from use-gss-proxy file
        nfsd: get rid of unused function definition
        Define op_iattr for nfsd4_open instead using macro
        NFSD: fix compile warning without CONFIG_NFSD_V3
        ...
      d9894c22
    • Geert Uytterhoeven's avatar
      ipmi: Add missing rv in ipmi_parisc_probe() · dfa19426
      Geert Uytterhoeven authored
      Fix
      
        drivers/char/ipmi/ipmi_si_intf.c: In function 'ipmi_parisc_probe':
        drivers/char/ipmi/ipmi_si_intf.c:2752:2: error: 'rv' undeclared (first use in this function)
        drivers/char/ipmi/ipmi_si_intf.c:2752:2: note: each undeclared identifier is reported only once for each function it appears in
      
      Introduced by commit d02b3709 ("ipmi: Cleanup error return")
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dfa19426
    • Christoph Hellwig's avatar
      nfs: fix xattr inode op pointers when disabled · 5f13ee9c
      Christoph Hellwig authored
      Chris Mason reported a NULL pointer derefernence in generic_getxattr()
      that was due to sb->s_xattr being NULL.
      
      The reason is that the nfs #ifdef's for ACL support were misplaced, and
      the nfs3 inode operations had the xattr operation pointers set up, even
      though xattrs were not actually supported.  As a result, the xattr code
      was being called without the infrastructure having been set up.
      
      Move the #ifdef's appropriately.
      Reported-and-tested-by: default avatarChris Mason <clm@fb.com>
      Acked-by: Al Viro viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5f13ee9c
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: don't leak a station when we drain · 9bb0c1ad
      Emmanuel Grumbach authored
      We had a bug that prevented us from removing a station
      after we entered the drain flow:
      
      We assign sta to be NULL if it was an error value.
      Then we tested it against -EBUSY, but forget to retrieve
      the value again from mvm->fw_id_to_mac_id[sta_id].
      
      Due to this bug, we ended up never removing the STA from
      the firmware. This led to an firmware assert when we remove
      the GO vif.
      Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      9bb0c1ad
    • David Spinadel's avatar
      iwlwifi: mvm: notify match found without filtering · 6e0bbe5e
      David Spinadel authored
      Configure scheduled scan to notify match found on every beacon
      or probe response if the scan request doesn't contain valid ssid
      list for filtering.
      Without this configuration the FW passes all beacons to the host
      but doesn't notify the stack that the scan results are ready for
      processing.
      Signed-off-by: default avatarDavid Spinadel <david.spinadel@intel.com>
      Reviewed-by: default avatarAlexander Bondar <alexander.bondar@intel.com>
      Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      6e0bbe5e
    • Oren Givon's avatar
      iwlwifi: add more 7265 HW IDs · f7690915
      Oren Givon authored
      Add 6 new HW IDs for the 7265 series.
      
      Cc: <stable@vger.kernel.org> [3.13]
      Signed-off-by: default avatarOren Givon <oren.givon@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      f7690915
    • Emmanuel Grumbach's avatar
      iwlwifi: mvm: print the version of the firmware when it asserts · b900a87b
      Emmanuel Grumbach authored
      This can be useful to be able to spot the firmware version
      from the error reports without needing to fetch it from
      another place.
      
      Cc: <stable@vger.kernel.org> [3.10+]
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Reviewed-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      b900a87b
    • Johannes Berg's avatar
      iwlwifi: mvm: disable scheduled scan · 0822afe8
      Johannes Berg authored
      The iwlwifi scheduled scan implementation doesn't adhere to the
      userspace API correctly - the API assumes that any new incoming
      'incompatible' request (like scan or remain-on-channel for this
      driver) will just cancel the scheduled scan. Instead our driver
      relies on userspace cancelling it, thus breaking existing wpa_s
      versions.
      
      Cc: stable@vger.kernel.org [3.13]
      Fixes: 35a000b7 ("iwlwifi: mvm: support sched scan if supported by the fw")
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      0822afe8
    • Johannes Berg's avatar
      iwlwifi: mvm: make local pointer non-static · a4243402
      Johannes Berg authored
      The address pointer used in the function shouldn't be static
      since it's local data only. Having it static causes races if
      a single machine has two devices, as the pointer would be
      shared between instances.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      a4243402
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · 9b0cd304
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Been a bit busy, first week of kids school, and waiting on other trees
        to go in before I could send this, so its a bit later than I'd
        normally like.
      
        Highlights:
         - core:
            timestamp fixes, lots of misc cleanups
         - new drivers:
            bochs virtual vga
         - vmwgfx:
            major overhaul for their nextgen virt gpu.
         - i915:
            runtime D3 on HSW, watermark fixes, power well work, fbc fixes,
            bdw is no longer prelim.
         - nouveau:
            gk110/208 acceleration, more pm groundwork, old overlay support
         - radeon:
            dpm rework and clockgating for CIK, pci config reset, big endian
            fixes
         - tegra:
            panel support and DSI support, build as module, prime.
         - armada, omap, gma500, rcar, exynos, mgag200, cirrus, ast:
            fixes
         - msm:
            hdmi support for mdp5"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (595 commits)
        drm/nouveau: resume display if any later suspend bits fail
        drm/nouveau: fix lock unbalance in nouveau_crtc_page_flip
        drm/nouveau: implement hooks for needed for drm vblank timestamping support
        drm/nouveau/disp: add a method to fetch info needed by drm vblank timestamping
        drm/nv50: fill in crtc mode struct members from crtc_mode_fixup
        drm/radeon/dce8: workaround for atom BlankCrtc table
        drm/radeon/DCE4+: clear bios scratch dpms bit (v2)
        drm/radeon: set si_notify_smc_display_change properly
        drm/radeon: fix DAC interrupt handling on DCE5+
        drm/radeon: clean up active vram sizing
        drm/radeon: skip async dma init on r6xx
        drm/radeon/runpm: don't runtime suspend non-PX cards
        drm/radeon: add ring to fence trace functions
        drm/radeon: add missing trace point
        drm/radeon: fix VMID use tracking
        drm: ast,cirrus,mgag200: use drm_can_sleep
        drm/gma500: Lock struct_mutex around cursor updates
        drm/i915: Fix the offset issue for the stolen GEM objects
        DRM: armada: fix missing DRM_KMS_FB_HELPER select
        drm/i915: Decouple GPU error reporting from ring initialisation
        ...
      9b0cd304
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma · ca2a650f
      Linus Torvalds authored
      Pull slave-dma updates from Vinod Koul:
       - new driver for BCM2835 used in R-pi
       - new driver for MOXA ART
       - dma_get_any_slave_channel API for DT based systems
       - minor fixes and updates spread acrooss driver
      
      [ The fsl-ssi dual fifo mode support addition clashed badly with the
        other changes to fsl-ssi that came in through the sound merge.  I did
        a very rough cut at fixing up the conflict, but Nicolin Chen (author
        of both sides) will need to verify and check things ]
      
      * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (36 commits)
        dmaengine: mmp_pdma: fix mismerge
        dma: pl08x: Export pl08x_filter_id
        acpi-dma: align documentation with kernel-doc format
        dma: fix vchan_cookie_complete() debug print
        DMA: dmatest: extend the "device" module parameter to 32 characters
        drivers/dma: fix error return code
        dma: omap: Set debug level to debugging messages
        dmaengine: fix kernel-doc style typos for few comments
        dma: tegra: add support for Tegra148/124
        dma: dw: use %pad instead of casting dma_addr_t
        dma: dw: join split up messages
        dma: dw: fix style of multiline comment
        dmaengine: k3dma: fix sparse warnings
        dma: pl330: Use dma_get_slave_channel() in the of xlate callback
        dma: pl330: Differentiate between submitted and issued descriptors
        dmaengine: sirf: Add device_slave_caps interface
        DMA: Freescale: change BWC from 256 bytes to 1024 bytes
        dmaengine: Add MOXA ART DMA engine driver
        dmaengine: Add DMA_PRIVATE to BCM2835 driver
        dma: imx-sdma: Assign a default script number for ROM firmware cases
        ...
      ca2a650f