1. 15 Mar, 2014 1 commit
  2. 14 Mar, 2014 3 commits
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · c60f7d5a
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty minor set of fixes for radeon, ttm and vmwgfx.  The ttm ones
        are a regression and an oops seen on server chipsets"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/vmwgfx: Fix a surface reference corner-case in legacy emulation mode
        drm/radeon/cik: properly set compute ring status on disable
        drm/radeon/cik: stop the sdma engines in the enable() function
        drm/radeon/cik: properly set sdma ring status on disable
        drm/radeon: fix runpm disabling on non-PX harder
        drm/ttm: don't oops if no invalidate_caches()
        drm/ttm: Work around performance regression with VM_PFNMAP
      c60f7d5a
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · c14c06b7
      Linus Torvalds authored
      Pull i2c Kconfig fix from Wolfram Sang.
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: Remove usage of orphaned symbol OF_I2C
      c14c06b7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 53611c0c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "I know this is a bit more than you want to see, and I've told the
        wireless folks under no uncertain terms that they must severely scale
        back the extent of the fixes they are submitting this late in the
        game.
      
        Anyways:
      
         1) vmxnet3's netpoll doesn't perform the equivalent of an ISR, which
            is the correct implementation, like it should.  Instead it does
            something like a NAPI poll operation.  This leads to crashes.
      
            From Neil Horman and Arnd Bergmann.
      
         2) Segmentation of SKBs requires proper socket orphaning of the
            fragments, otherwise we might access stale state released by the
            release callbacks.
      
            This is a 5 patch fix, but the initial patches are giving
            variables and such significantly clearer names such that the
            actual fix itself at the end looks trivial.
      
            From Michael S.  Tsirkin.
      
         3) TCP control block release can deadlock if invoked from a timer on
            an already "owned" socket.  Fix from Eric Dumazet.
      
         4) In the bridge multicast code, we must validate that the
            destination address of general queries is the link local all-nodes
            multicast address.  From Linus Lüssing.
      
         5) The x86 BPF JIT support for negative offsets puts the parameter
            for the helper function call in the wrong register.  Fix from
            Alexei Starovoitov.
      
         6) The descriptor type used for RTL_GIGA_MAC_VER_17 chips in the
            r8169 driver is incorrect.  Fix from Hayes Wang.
      
         7) The xen-netback driver tests skb_shinfo(skb)->gso_type bits to see
            if a packet is a GSO frame, but that's not the correct test.  It
            should use skb_is_gso(skb) instead.  Fix from Wei Liu.
      
         8) Negative msg->msg_namelen values should generate an error, from
            Matthew Leach.
      
         9) at86rf230 can deadlock because it takes the same lock from it's
            ISR and it's hard_start_xmit method, without disabling interrupts
            in the latter.  Fix from Alexander Aring.
      
        10) The FEC driver's restart doesn't perform operations in the correct
            order, so promiscuous settings can get lost.  Fix from Stefan
            Wahren.
      
        11) Fix SKB leak in SCTP cookie handling, from Daniel Borkmann.
      
        12) Reference count and memory leak fixes in TIPC from Ying Xue and
            Erik Hugne.
      
        13) Forced eviction in inet_frag_evictor() must strictly make sure all
            frags are deleted, otherwise module unload (f.e.  6lowpan) can
            crash.  Fix from Florian Westphal.
      
        14) Remove assumptions in AF_UNIX's use of csum_partial() (which it
            uses as a hash function), which breaks on PowerPC.  From Anton
            Blanchard.
      
            The main gist of the issue is that csum_partial() is defined only
            as a value that, once folded (f.e.  via csum_fold()) produces a
            correct 16-bit checksum.  It is legitimate, therefore, for
            csum_partial() to produce two different 32-bit values over the
            same data if their respective alignments are different.
      
        15) Fix endiannes bug in MAC address handling of ibmveth driver, also
            from Anton Blanchard.
      
        16) Error checks for ipv6 exthdrs offload registration are reversed,
            from Anton Nayshtut.
      
        17) Externally triggered ipv6 addrconf routes should count against the
            garbage collection threshold.  Fix from Sabrina Dubroca.
      
        18) The PCI shutdown handler added to the bnx2 driver can wedge the
            chip if it was not brought up earlier already, which in particular
            causes the firmware to shut down the PHY.  Fix from Michael Chan.
      
        19) Adjust the sanity WARN_ON_ONCE() in qdisc_list_add() because as
            currently coded it can and does trigger in legitimate situations.
            From Eric Dumazet.
      
        20) BNA driver fails to build on ARM because of a too large udelay()
            call, fix from Ben Hutchings.
      
        21) Fair-Queue qdisc holds locks during GFP_KERNEL allocations, fix
            from Eric Dumazet.
      
        22) The vlan passthrough ops added in the previous release causes a
            regression in source MAC address setting of outgoing headers in
            some circumstances.  Fix from Peter Boström"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (70 commits)
        ipv6: Avoid unnecessary temporary addresses being generated
        eth: fec: Fix lost promiscuous mode after reconnecting cable
        bonding: set correct vlan id for alb xmit path
        at86rf230: fix lockdep splats
        net/mlx4_en: Deregister multicast vxlan steering rules when going down
        vmxnet3: fix building without CONFIG_PCI_MSI
        MAINTAINERS: add networking selftests to NETWORKING
        net: socket: error on a negative msg_namelen
        MAINTAINERS: Add tools/net to NETWORKING [GENERAL]
        packet: doc: Spelling s/than/that/
        net/mlx4_core: Load the IB driver when the device supports IBoE
        net/mlx4_en: Handle vxlan steering rules for mac address changes
        net/mlx4_core: Fix wrong dump of the vxlan offloads device capability
        xen-netback: use skb_is_gso in xenvif_start_xmit
        r8169: fix the incorrect tx descriptor version
        tools/net/Makefile: Define PACKAGE to fix build problems
        x86: bpf_jit: support negative offsets
        bridge: multicast: enable snooping on general queries only
        bridge: multicast: add sanity check for general query destination
        tcp: tcp_release_cb() should release socket ownership
        ...
      53611c0c
  3. 13 Mar, 2014 14 commits
  4. 12 Mar, 2014 22 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2f727f50
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A few fixes for ASoC (N810 DT init fix, DPCM error path fix and a
        couple of MFD init fixes), and a fix for a Lenovo laptop.  All small
        and trivial fixes, suitable for rc7"
      
      * tag 'sound-3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: 88pm860: Fix IO setup
        ASoC: si476x: Fix IO setup
        ALSA: hda - Fix loud click noise with IdeaPad 410Y
        ASoC: pcm: free path list before exiting from error conditions
        ASoC: n810: fix init with DT boot
      2f727f50
    • Matthew Leach's avatar
      net: socket: error on a negative msg_namelen · dbb490b9
      Matthew Leach authored
      When copying in a struct msghdr from the user, if the user has set the
      msg_namelen parameter to a negative value it gets clamped to a valid
      size due to a comparison between signed and unsigned values.
      
      Ensure the syscall errors when the user passes in a negative value.
      Signed-off-by: default avatarMatthew Leach <matthew.leach@arm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dbb490b9
    • Alex Deucher's avatar
      drm/radeon/cik: properly set compute ring status on disable · b2b3d8d9
      Alex Deucher authored
      When we disable the rings, set the status properly.  If
      not other code pathes may try and use the rings which are
      not functional at this point.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      b2b3d8d9
    • Tobias Klauser's avatar
      MAINTAINERS: Add tools/net to NETWORKING [GENERAL] · 7e814a6c
      Tobias Klauser authored
      Make sure patches for these tools go to the netdev list as well.
      
      References: https://marc.info/?l=linux-kernel&m=139450284501328&w=2
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Daniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7e814a6c
    • Geert Uytterhoeven's avatar
      packet: doc: Spelling s/than/that/ · a93c1256
      Geert Uytterhoeven authored
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@linux-m68k.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a93c1256
    • David S. Miller's avatar
      Merge branch 'mlx4' · 598f2e2b
      David S. Miller authored
      Or Gerlitz says:
      
      ====================
      mlx4 fixes
      
      These short series fixes two bugs related to the vxlan support and a
      missing req module call for the IB driver which is needed to support
      IB/RDMA over Ethernet.
      
      Pathes done over the net tree, commit dd38743b "vlan: Set correct
      source MAC address with TX VLAN offload enabled"
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      598f2e2b
    • Or Gerlitz's avatar
      net/mlx4_core: Load the IB driver when the device supports IBoE · 7855bff4
      Or Gerlitz authored
      When checking what protocol drivers to load, the IB driver should be
      requested also over Ethernet ports, if the device supports IBoE (RoCE).
      
      Fixes: b046ffe5 'net/mlx4_core: Load higher level modules according to ports type'
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7855bff4
    • Or Gerlitz's avatar
      net/mlx4_en: Handle vxlan steering rules for mac address changes · 2a2083f7
      Or Gerlitz authored
      When the device mac address is changed, we must deregister the vxlan
      steering rule associated with the previous mac, and register a new
      steering rule using the new mac.
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2a2083f7
    • Or Gerlitz's avatar
      net/mlx4_core: Fix wrong dump of the vxlan offloads device capability · 56cb4567
      Or Gerlitz authored
      Fix the value used to dump the vxlan offloads device capability to align
      with the MLX4_DEV_CAP_FLAG2_yyy definition. While on that, add dump to
      the IPoIB flow-steering device capability and fix small typo.
      
      The vxlan cap value wasn't fully handled when a conflict was resolved
      between MLX4_DEV_CAP_FLAG2_DMFS_IPOIB coming from the IB tree to
      MLX4_DEV_CAP_FLAG2_VXLAN_OFFLOADS coming from net-next.
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      56cb4567
    • Alex Deucher's avatar
      drm/radeon/cik: stop the sdma engines in the enable() function · 07ae78c9
      Alex Deucher authored
      We always stop the rings when disabling the engines so just
      call the stop functions directly from the sdma enable function.
      This way the rings' status is set correctly on suspend so
      there are no problems on resume.  Fixes resume failures that
      result in acceleration getting disabled.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      07ae78c9
    • Alex Deucher's avatar
      drm/radeon/cik: properly set sdma ring status on disable · 7b1bbe88
      Alex Deucher authored
      When we disable the rings, set the status properly.  If
      not other code pathes may try and use the rings which are
      not functional at this point.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      7b1bbe88
    • Alex Deucher's avatar
      drm/radeon: fix runpm disabling on non-PX harder · 78488659
      Alex Deucher authored
      Make sure runtime pm is disabled on non-PX hardware.
      Should fix powerdown problems without displays attached.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      78488659
    • Wei Liu's avatar
      xen-netback: use skb_is_gso in xenvif_start_xmit · 836fbaf4
      Wei Liu authored
      In 5bd07670 ("Xen-netback: Fix issue caused by using gso_type wrongly")
      we use skb_is_gso to determine if we need an extra slot to accommodate
      the SKB. There's similar error in interface.c. Change that to use
      skb_is_gso as well.
      Signed-off-by: default avatarWei Liu <wei.liu2@citrix.com>
      Cc: Annie Li <annie.li@oracle.com>
      Cc: Ian Campbell <ian.campbell@citrix.com>
      Cc: Paul Durrant <paul.durrant@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      836fbaf4
    • Rob Clark's avatar
      drm/ttm: don't oops if no invalidate_caches() · 9ef7506f
      Rob Clark authored
      A few of the simpler TTM drivers (cirrus, ast, mgag200) do not implement
      this function.  Yet can end up somehow with an evicted bo:
      
        BUG: unable to handle kernel NULL pointer dereference at           (null)
        IP: [<          (null)>]           (null)
        PGD 16e761067 PUD 16e6cf067 PMD 0
        Oops: 0010 [#1] SMP
        Modules linked in: bnep bluetooth rfkill fuse ip6t_rpfilter ip6t_REJECT ipt_REJECT xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw iptable_filter ip_tables sg btrfs zlib_deflate raid6_pq xor dm_queue_length iTCO_wdt iTCO_vendor_support coretemp kvm dcdbas dm_service_time microcode serio_raw pcspkr lpc_ich mfd_core i7core_edac edac_core ses enclosure ipmi_si ipmi_msghandler shpchp acpi_power_meter mperf nfsd auth_rpcgss nfs_acl lockd uinput sunrpc dm_multipath xfs libcrc32c ata_generic pata_acpi sr_mod cdrom
         sd_mod usb_storage mgag200 syscopyarea sysfillrect sysimgblt i2c_algo_bit lpfc drm_kms_helper ttm crc32c_intel ata_piix bfa drm ixgbe libata i2c_core mdio crc_t10dif ptp crct10dif_common pps_core scsi_transport_fc dca scsi_tgt megaraid_sas bnx2 dm_mirror dm_region_hash dm_log dm_mod
        CPU: 16 PID: 2572 Comm: X Not tainted 3.10.0-86.el7.x86_64 #1
        Hardware name: Dell Inc. PowerEdge R810/0H235N, BIOS 0.3.0 11/14/2009
        task: ffff8801799dabc0 ti: ffff88016c884000 task.ti: ffff88016c884000
        RIP: 0010:[<0000000000000000>]  [<          (null)>]           (null)
        RSP: 0018:ffff88016c885ad8  EFLAGS: 00010202
        RAX: ffffffffa04e94c0 RBX: ffff880178937a20 RCX: 0000000000000000
        RDX: 0000000000000000 RSI: 0000000000240004 RDI: ffff880178937a00
        RBP: ffff88016c885b60 R08: 00000000000171a0 R09: ffff88007cf171a0
        R10: ffffea0005842540 R11: ffffffff810487b9 R12: ffff880178937b30
        R13: ffff880178937a00 R14: ffff88016c885b78 R15: ffff880179929400
        FS:  00007f81ba2ef980(0000) GS:ffff88007cf00000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 0000000000000000 CR3: 000000016e763000 CR4: 00000000000007e0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
        Stack:
         ffffffffa0306fae ffff8801799295c0 0000000000260004 0000000000000001
         ffff88016c885b60 ffffffffa0307669 00ff88007cf17738 ffff88017cf17700
         ffff880178937a00 ffff880100000000 ffff880100000000 0000000079929400
        Call Trace:
         [<ffffffffa0306fae>] ? ttm_bo_handle_move_mem+0x54e/0x5b0 [ttm]
         [<ffffffffa0307669>] ? ttm_bo_mem_space+0x169/0x340 [ttm]
         [<ffffffffa0307bd7>] ttm_bo_move_buffer+0x117/0x130 [ttm]
         [<ffffffff81130001>] ? perf_event_init_context+0x141/0x220
         [<ffffffffa0307cb1>] ttm_bo_validate+0xc1/0x130 [ttm]
         [<ffffffffa04e7377>] mgag200_bo_pin+0x87/0xc0 [mgag200]
         [<ffffffffa04e56c4>] mga_crtc_cursor_set+0x474/0xbb0 [mgag200]
         [<ffffffff811971d2>] ? __mem_cgroup_commit_charge+0x152/0x3b0
         [<ffffffff815c4182>] ? mutex_lock+0x12/0x2f
         [<ffffffffa0201433>] drm_mode_cursor_common+0x123/0x170 [drm]
         [<ffffffffa0205231>] drm_mode_cursor_ioctl+0x41/0x50 [drm]
         [<ffffffffa01f5ca2>] drm_ioctl+0x502/0x630 [drm]
         [<ffffffff815cbab4>] ? __do_page_fault+0x1f4/0x510
         [<ffffffff8101cb68>] ? __restore_xstate_sig+0x218/0x4f0
         [<ffffffff811b4445>] do_vfs_ioctl+0x2e5/0x4d0
         [<ffffffff8124488e>] ? file_has_perm+0x8e/0xa0
         [<ffffffff811b46b1>] SyS_ioctl+0x81/0xa0
         [<ffffffff815d05d9>] system_call_fastpath+0x16/0x1b
        Code:  Bad RIP value.
        RIP  [<          (null)>]           (null)
         RSP <ffff88016c885ad8>
        CR2: 0000000000000000
      Signed-off-by: default avatarRob Clark <rclark@redhat.com>
      Reviewed-by: default avatarJérôme Glisse <jglisse@redhat.com>
      Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Cc: stable@vger.kernel.org
      9ef7506f
    • Heinz Mauelshagen's avatar
      dm cache: fix access beyond end of origin device · e893fba9
      Heinz Mauelshagen authored
      In order to avoid wasting cache space a partial block at the end of the
      origin device is not cached.  Unfortunately, the check for such a
      partial block at the end of the origin device was flawed.
      
      Fix accesses beyond the end of the origin device that occured due to
      attempted promotion of an undetected partial block by:
      
      - initializing the per bio data struct to allow cache_end_io to work properly
      - recognizing access to the partial block at the end of the origin device
      - avoiding out of bounds access to the discard bitset
      
      Otherwise, users can experience errors like the following:
      
       attempt to access beyond end of device
       dm-5: rw=0, want=20971520, limit=20971456
       ...
       device-mapper: cache: promotion failed; couldn't copy block
      Signed-off-by: default avatarHeinz Mauelshagen <heinzm@redhat.com>
      Acked-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org
      e893fba9
    • Heinz Mauelshagen's avatar
      dm cache: fix truncation bug when copying a block to/from >2TB fast device · 8b9d9666
      Heinz Mauelshagen authored
      During demotion or promotion to a cache's >2TB fast device we must not
      truncate the cache block's associated sector to 32bits.  The 32bit
      temporary result of from_cblock() caused a 32bit multiplication when
      calculating the sector of the fast device in issue_copy_real().
      
      Use an intermediate 64bit type to store the 32bit from_cblock() to allow
      for proper 64bit multiplication.
      
      Here is an example of how this bug manifests on an ext4 filesystem:
      
       EXT4-fs error (device dm-0): ext4_mb_generate_buddy:756: group 17136, 32768 clusters in bitmap, 30688 in gd; block bitmap corrupt.
       JBD2: Spotted dirty metadata buffer (dev = dm-0, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
      Signed-off-by: default avatarHeinz Mauelshagen <heinzm@redhat.com>
      Acked-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org
      8b9d9666
    • Radim Krčmář's avatar
      KVM: SVM: fix cr8 intercept window · 596f3142
      Radim Krčmář authored
      We always disable cr8 intercept in its handler, but only re-enable it
      if handling KVM_REQ_EVENT, so there can be a window where we do not
      intercept cr8 writes, which allows an interrupt to disrupt a higher
      priority task.
      
      Fix this by disabling intercepts in the same function that re-enables
      them when needed. This fixes BSOD in Windows 2008.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
      Reviewed-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      596f3142
    • Bjorn Helgaas's avatar
      PCI: Don't check resource_size() in pci_bus_alloc_resource() · ac93ac74
      Bjorn Helgaas authored
      Paul reported that after f75b99d5 ("PCI: Enforce bus address limits in
      resource allocation") on a 32-bit kernel (CONFIG_PHYS_ADDR_T_64BIT not
      set), intel-gtt complained "can't ioremap flush page - no chipset
      flushing".  In addition, other PCI resource allocations, e.g., for bridge
      windows, failed.
      
      This happens because we incorrectly skip bus resources of
      [mem 0x00000000-0xffffffff] because we think they are of size zero.
      When resource_size_t is 32 bits wide, resource_size() on
      [mem 0x00000000-0xffffffff] returns 0 because (r->end - r->start + 1)
      overflows.
      
      Therefore, we can't use "resource_size() == 0" to decide that allocation
      from this resource will fail.  allocate_resource() should fail anyway if it
      can't satisfy the address constraints, so we should just depend on that.
      
      A [mem 0x00000000-0xffffffff] bus resource is obviously not really valid,
      but we do fall back to it as a default when we don't have information about
      host bridge apertures.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=71611
      Fixes: f75b99d5 PCI: Enforce bus address limits in resource allocation
      Reported-and-tested-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      ac93ac74
    • Bjorn Helgaas's avatar
      PCI: Enable INTx in pci_reenable_device() only when MSI/MSI-X not enabled · 3cdeb713
      Bjorn Helgaas authored
      Andreas reported that after 1f42db78 ("PCI: Enable INTx if BIOS left
      them disabled"), pciehp surprise removal stopped working.
      
      This happens because pci_reenable_device() on the hotplug bridge (used in
      the pciehp_configure_device() path) clears the Interrupt Disable bit, which
      apparently breaks the bridge's MSI hotplug event reporting.
      
      Previously we cleared the Interrupt Disable bit in do_pci_enable_device(),
      which is used by both pci_enable_device() and pci_reenable_device().  But
      we use pci_reenable_device() after the driver may have enabled MSI or
      MSI-X, and we *set* Interrupt Disable as part of enabling MSI/MSI-X.
      
      This patch clears Interrupt Disable only when MSI/MSI-X has not been
      enabled.
      
      Fixes: 1f42db78 PCI: Enable INTx if BIOS left them disabled
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=71691Reported-and-tested-by: default avatarAndreas Noever <andreas.noever@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      CC: stable@vger.kernel.org
      CC: Sarah Sharp <sarah.a.sharp@linux.intel.com>
      3cdeb713
    • Thomas Hellstrom's avatar
      drm/ttm: Work around performance regression with VM_PFNMAP · 0e6d6ec0
      Thomas Hellstrom authored
      A performance regression was introduced in TTM in linux 3.13 when we started using
      VM_PFNMAP for shared mappings. In theory this should've been faster due to
      less page book-keeping but it appears like VM_PFNMAP + x86 PAT + write-combine
      is a particularly cpu-hungry combination, as seen by largely increased
      cpu-usage on r200 GL video playback.
      
      Until we've sorted out why, revert to always use VM_MIXEDMAP.
      Reference: freedesktop.org bugzilla bug #75719
      
      Reported-and-tested-by: <smoki00790@gmail.com>
      Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Cc: stable@vger.kernel.org
      0e6d6ec0
    • hayeswang's avatar
      r8169: fix the incorrect tx descriptor version · f75761b6
      hayeswang authored
      The tx descriptor version of RTL8111B belong to RTL_TD_0.
      Signed-off-by: default avatarHayes Wang <hayeswang@realtek.com>
      Acked-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f75761b6
    • Markos Chandras's avatar
      tools/net/Makefile: Define PACKAGE to fix build problems · 40676462
      Markos Chandras authored
      Fixes the following build problem with binutils-2.24
      
      gcc -Wall -O2   -c -o bpf_jit_disasm.o bpf_jit_disasm.c
      In file included from bpf_jit_disasm.c:25:0:
      /usr/include/bfd.h:35:2: error: #error config.h must be included
      before this header
       #error config.h must be included before this header
      
      This is similar to commit 3ce711a6
      "perf tools: bfd.h/libbfd detection fails with recent binutils"
      
      See: https://sourceware.org/bugzilla/show_bug.cgi?id=14243
      
      CC: David S. Miller <davem@davemloft.net>
      CC: Daniel Borkmann <dborkman@redhat.com>
      CC: netdev@vger.kernel.org
      Acked-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      40676462