1. 27 Sep, 2012 22 commits
    • Greg Ungerer's avatar
      m68knommu: clean up ColdFire 54xx General Timer definitions · 944c3d81
      Greg Ungerer authored
      Convert the ColdFire 54xx CPU General Timer register address definitions to
      include the MCF_MBAR peripheral region offset. This makes them consistent
      with all other 54xx address register definitions (in m54xxsim.h).
      
      The goal is to reduce different definitions used (some including offsets and
      others not) causing bugs when used incorrectly.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      944c3d81
    • Greg Ungerer's avatar
      m68knommu: clean up Pin Assignment definitions for the 54xx ColdFire CPU · 632306f2
      Greg Ungerer authored
      The Pin Assignment register definitions for the ColdFire 54xx CPU family are
      inconsistently named and defined compared to the other ColdFire part
      definitions. Rename them with the same prefix as used on other parts,
      MCFGPIO_PAR_, and make their definitions include the MCF_MBAR periphperal
      region offset.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      632306f2
    • Greg Ungerer's avatar
      m68knommu: fix multi-function pin setup for FEC module on ColdFire 523x · 98d9696b
      Greg Ungerer authored
      The multi-function pin setup code for the FEC ethernet module is using just
      plain wrong. Looks like it was cut-and-pasted from other init code. It has
      hard coded register addresses that are incorrect for the 523x, and it is
      manipulating bits that don't make sense.
      
      Add proper register definitions for the Pin Assignment registers of the 532x,
      and then use them to fix the setup code for the FEC hardware module.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      98d9696b
    • Greg Ungerer's avatar
      m68knommu: move ColdFire slice timer address defiens to 54xx header · f2f41c68
      Greg Ungerer authored
      Move the base address defines of the ColdFire 54xx CPU slice timers into the
      54xx specific header (m54xxsim.h). They are CPU specific, and belong with the
      CPU specific defines. Also make them relative to the MBAR peripheral region,
      making the define the absolute address.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      f2f41c68
    • Greg Ungerer's avatar
      m68knommu: use read/write IO access functions in ColdFire m532x setup code · 6d8a1393
      Greg Ungerer authored
      Get rid of the use of local IO access macros and switch to using the standard
      read*/write* family of access functions for the ColdFire m532x setup code.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      6d8a1393
    • Greg Ungerer's avatar
      m68knommu: modify ColdFire 532x GPIO register definitions to be consistent · e4c2b9be
      Greg Ungerer authored
      The ColdFire 532x CPU register definitions for the multi-function setup
      pins are inconsistently defined compared with other ColdFire parts. Modify
      the register defintions to be just the addresses, not pointers. This also
      fixes the erroneous use in one case of using these values in the UART setup
      code for the 532x.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      e4c2b9be
    • Greg Ungerer's avatar
      m68knommu: remove a lot of unsed definitions for 532x ColdFire · 23bcdacd
      Greg Ungerer authored
      There are a lot of unused and uneccessary definitions in the header to
      support the ColdFire 532x CPU family. Remove the junk.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      23bcdacd
    • Greg Ungerer's avatar
      m68knommu: use definitions for the ColdFire 528x FEC multi-function pins · a91f7415
      Greg Ungerer authored
      Currently the setup code for the FEC multi-function pins on the ColdFire 528x
      has the addresses hard coded in the code. Use the register defines that
      already exist for this.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      a91f7415
    • Greg Ungerer's avatar
      m68knommu: remove address offsets relative to IPSBAR for ColdFire 527x · f821e349
      Greg Ungerer authored
      Remove the last address definitions relative to the IPSBAR peripheral region
      for the ColdFire 527x family. This involved cleaning up some magic numbers
      used in the code part, and making them proper register definitions in the 527x
      specific header.
      
      This is part of the process of cleaning up the ColdFire register definitions
      to make them consistently use absolute addresses for the primary registers.
      This will reduce the occasional bugs caused by inconsistent definition of
      the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      f821e349
    • Greg Ungerer's avatar
      m68knommu: remove unused ColdFire 5282 register definitions · 8a415c4b
      Greg Ungerer authored
      There is a bunch of old unused and ugly register definitions in the ColdFire
      5282 header. Remove them.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      8a415c4b
    • Greg Ungerer's avatar
      m68knommu: fix wrong register offsets used for ColdFire 5272 multi-function pins · 4fb62ede
      Greg Ungerer authored
      The registers used to configure and set the multifunction pins on the 5272
      ColdFire are defined as absolute addresses. So the use of them does not need
      to be offset relative to the peripheral region address.
      
      Fix two cases of incorrect usage of these addresses. Both affect UART
      initialization, one in the common UART pin setup code, the other in the
      NETtel board specific UART signal handling.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      4fb62ede
    • Greg Ungerer's avatar
      m68knommu: make ColdFire 5249 MBAR2 register definitions absolute addresses · 041a89a4
      Greg Ungerer authored
      Make the ColdFire 5249 MBAR peripheral register definitions absolute
      addresses, instead of offsets into the region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      041a89a4
    • Greg Ungerer's avatar
      m68knommu: make remaining ColdFire 5272 register definitions absolute addresses · d72a5abb
      Greg Ungerer authored
      Make the remaining definitions of the 5272 ColdFire registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      d72a5abb
    • Greg Ungerer's avatar
      m68knommu: make ColdFire Park and Assignment register definitions absolute addresses · 35142b91
      Greg Ungerer authored
      Make all definitions of the ColdFire MPARK and IRQ Assignment registers
      absolute addresses. Currently some are relative to the MBAR peripheral
      region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      35142b91
    • Greg Ungerer's avatar
      m68knommu: make ColdFire Chip Select register definitions absolute addresses · 1419ea3b
      Greg Ungerer authored
      Make all definitions of the ColdFire Chip Select registers absolute addresses.
      Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      1419ea3b
    • Greg Ungerer's avatar
      m68knommu: make ColdFire Interrupt Source register definitions absolute addresses · c986a3d5
      Greg Ungerer authored
      Make all definitions of the ColdFire Interrupt Source registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      c986a3d5
    • Greg Ungerer's avatar
      m68knommu: make ColdFire Pin Assignment register definitions absolute addresses · a45f56b2
      Greg Ungerer authored
      Make all definitions of the ColdFire Pin Assignment registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      a45f56b2
    • Greg Ungerer's avatar
      m68knommu: make ColdFire watchdog register definitions absolute addresses · 660b73e3
      Greg Ungerer authored
      Make all definitions of the ColdFire Software watchdog registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      660b73e3
    • Greg Ungerer's avatar
      m68knommu: make ColdFire SYPCR and RSR register definitions absolute addresses · e1e362dc
      Greg Ungerer authored
      Make all definitions of the ColdFire Reset and System registers absolute
      addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the abolsute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      e1e362dc
    • Greg Ungerer's avatar
      m68knommu: make ColdFire IMR and IPR register definitions absolute addresses · 6a3a786d
      Greg Ungerer authored
      Make all definitions of the ColdFire Interrupt Mask and Pending registers
      absolute addresses. Currently some are relative to the MBAR peripheral region.
      
      The various ColdFire parts use different methods to address the internal
      registers, some are absolute, some are relative to peripheral regions
      which can be mapped at different address ranges (such as the MBAR and IPSBAR
      registers). We don't want to deal with this in the code when we are
      accessing these registers, so make all register definitions the absolute
      address - factoring out whether it is an offset into a peripheral region.
      
      This makes them all consistently defined, and reduces the occasional bugs
      caused by inconsistent definition of the register addresses.
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      6a3a786d
    • Philippe De Muyter's avatar
      m68knommu: use "r", not "i" constraint in cacheflush asm's · 300b9ff6
      Philippe De Muyter authored
      Let the compiler choose which register to use in the cache flushing
      asm statements, instead of imposing %d0.
      
      Additionally, fix two typo's.
      Signed-off-by: default avatarPhilippe De Muyter <phdm@macqel.be>
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      300b9ff6
    • Paul Bolle's avatar
      m68k: drop unused parts of 68VZ328 Makefile · 0c0e6db8
      Paul Bolle authored
      DRAGEN2 should obviously be CONFIG_DRAGEN2, but the screen.h entry it
      triggers only references files that are nowhere to be found in the
      current tree. Besides, nothing uses screen.h. So just drop all that.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
      0c0e6db8
  2. 24 Sep, 2012 1 commit
  3. 23 Sep, 2012 8 commits
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 56bae802
      Linus Torvalds authored
      Pull kbuild fixes from Michal Marek:
       "There are two more kbuild fixes for 3.6.
      
        One fixes a race between x86's archscripts target and the rule
        (re)building scripts/basic/fixdep.  The second is a fix for the
        previous attempt at fixing make firmware_install with make 3.82.
        This new solution should work with any version of GNU make"
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        x86/kbuild: archscripts depends on scripts_basic
        firmware: fix directory creation rule matching with make 3.80
      56bae802
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 0737c8d7
      Linus Torvalds authored
      Pull hwmon subsystem fixes from Jean Delvare.
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        hwmon: (fam15h_power) Tweak runavg_range on resume
        hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug
        hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug
      0737c8d7
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 0bf7a705
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of four essential fixes: two oops related (bnx2i,
        virtio-scsi), one data corruption related (hpsa) and one failure to
        boot due to interrupt routing issues (mpt2ss).
      
        Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] hpsa: fix handling of protocol error
        [SCSI] mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA
        [SCSI] bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload
        [SCSI] scsi: virtio-scsi: Fix address translation failure of HighMem pages used by sg list
      0bf7a705
    • Shaun Ruffell's avatar
      edac_mc: edac_mc_free() cannot assume mem_ctl_info is registered in sysfs. · faa2ad09
      Shaun Ruffell authored
      Fix potential NULL pointer dereference in edac_unregister_sysfs() on
      system boot introduced in 3.6-rc1.
      
      Since commit 7a623c03 ("edac: rewrite the sysfs code to use struct
      device") edac_mc_alloc() no longer initializes embedded kobjects in
      struct mem_ctl_info.  Therefore edac_mc_free() can no longer simply
      decrement a kobject reference count to free the allocated memory unless
      the memory controller driver module had also called edac_mc_add_mc().
      
      Now edac_mc_free() will check if the newly embedded struct device has
      been registered with sysfs before using either the standard device
      release functions or freeing the data structures itself with logic
      pulled out of the error path of edac_mc_alloc().
      
      The BUG this patch resolves for me:
      
        BUG: unable to handle kernel NULL pointer dereference at   (null)
        EIP is at __wake_up_common+0x1a/0x6a
        Process modprobe (pid: 933, ti=f3dc6000 task=f3db9520 task.ti=f3dc6000)
        Call Trace:
          complete_all+0x3f/0x50
          device_pm_remove+0x23/0xa2
          device_del+0x34/0x142
          edac_unregister_sysfs+0x3b/0x5c [edac_core]
          edac_mc_free+0x29/0x2f [edac_core]
          e7xxx_probe1+0x268/0x311 [e7xxx_edac]
          e7xxx_init_one+0x56/0x61 [e7xxx_edac]
          local_pci_probe+0x13/0x15
        ...
      
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Shaohui Xie <Shaohui.Xie@freescale.com>
      Signed-off-by: default avatarShaun Ruffell <sruffell@digium.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      faa2ad09
    • Fengguang Wu's avatar
      edac_mc: fix messy kfree calls in the error path · ef6e7816
      Fengguang Wu authored
      coccinelle warns about:
      
      + drivers/edac/edac_mc.c:429:9-23: ERROR: reference preceded by free on line 429
      
         421         if (mci->csrows) {
       > 422                 for (chn = 0; chn < tot_channels; chn++) {
         423                         csr = mci->csrows[chn];
         424                         if (csr) {
       > 425                                 for (chn = 0; chn < tot_channels; chn++)
         426                                          kfree(csr->channels[chn]);
         427                                  kfree(csr);
         428                          }
       > 429                          kfree(mci->csrows[i]);
         430                  }
         431                  kfree(mci->csrows);
         432          }
      
      and that code block seem to mess things up in several ways (double free, memory
      leak, out-of-bound reads etc.):
      
      L422: The iterator "chn" and bound "tot_channels" are totally wrong. Should be
            "row" and "tot_csrows" respectively. Which means either memory leak, or
            out-of-bound reads (which if does not trigger an immediate page fault
            error, will further lead to kfree() on random addresses).
      
      L425: The inner loop is reusing the same iterator "chn" as the outer loop,
            which could lead to premature end of the outer loop, and hence memory leak.
      
      L429: The array index 'i' in mci->csrows[i] is a temporary value used in
            previous loops, and won't change at all in the current loop. Which
            means either out-of-bound read and possibly kfree(random number), or the
            same mci->csrows[i] get freed once and again, and possibly double free
            for the kfree(csr) in L427.
      
      L426/L427: a kfree(csr->channels) is needed in between to avoid leaking the memory.
      
      The buggy code was introduced by commit de3910eb ("edac: change the mem
      allocation scheme to make Documentation/kobject.txt happy") in the 3.6-rc1
      merge window. Fix it by freeing up resources in this order:
      
        free csrows[i]->channels[j]
        free csrows[i]->channels
        free csrows[i]
        free csrows
      
      CC: Mauro Carvalho Chehab <mchehab@redhat.com>
      CC: Shaun Ruffell <sruffell@digium.com>
      Signed-off-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ef6e7816
    • Andreas Herrmann's avatar
      hwmon: (fam15h_power) Tweak runavg_range on resume · 5f0ecb90
      Andreas Herrmann authored
      The quirk introduced with commit
      00250ec9 (hwmon: fam15h_power: fix
      bogus values with current BIOSes) is not only required during driver
      load but also when system resumes from suspend. The BIOS might set the
      previously recommended (but unsuitable) initilization value for the
      running average range register during resume.
      Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann3@amd.com>
      Tested-by: default avatarAndreas Hartmann <andihartmann@01019freenet.de>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: stable@vger.kernel.org # 3.0+
      5f0ecb90
    • Silas Boyd-Wickizer's avatar
      hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug · 641f1456
      Silas Boyd-Wickizer authored
      coretemp_init loops with for_each_online_cpu, adding platform_devices
      and sysfs interfaces, then calls register_hotcpu_notifier.  There is a
      race if a CPU is offlined or onlined after the loop, but before
      register_hotcpu_notifier.  The race might result in the absence of a
      platform_device+sysfs interface for an online CPU, or the presence of
      a platform_device+sysfs interface for an offline CPU.  A similar race
      occurs during coretemp_exit, after the module calls
      unregister_hotcpu_notifier, but before it unregisters all devices, a
      CPU might offline and a device for an offline CPU will exist for a
      short while.
      
      This fix surrounds for_each_online_cpu and register_hotcpu_notifier
      with get_online_cpus+put_online_cpus; and surrounds
      unregister_hotcpu_notifier and device unregistering with
      get_online_cpus+put_online_cpus.
      
      Build tested.
      Signed-off-by: default avatarSilas Boyd-Wickizer <sbw@mit.edu>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      641f1456
    • Silas Boyd-Wickizer's avatar
      hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug · 1ec3ddfd
      Silas Boyd-Wickizer authored
      via_cputemp_init loops with for_each_online_cpu, adding
      platform_devices, then calls register_hotcpu_notifier.  If a CPU is
      offlined between the loop and register_hotcpu_notifier, then later
      onlined, via_cputemp_device_add will attempt to add platform devices
      with the same ID.  A similar race occurs during via_cputemp_exit,
      after the module calls unregister_hotcpu_notifier, a CPU might offline
      and a device will exist for a CPU that is offline.
      
      This fix surrounds for_each_online_cpu and register_hotcpu_notifier
      with get_online_cpus+put_online_cpus; and surrounds
      unregister_hotcpu_notifier and device unregistering with
      get_online_cpus+put_online_cpus.
      
      Build tested.
      Signed-off-by: default avatarSilas Boyd-Wickizer <sbw@mit.edu>
      Acked-by: default avatarHarald Welte <laforge@gnumonks.org>
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      1ec3ddfd
  4. 22 Sep, 2012 6 commits
  5. 21 Sep, 2012 3 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · abef3bd7
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "More bug fixes, nothing gets past these guys"
      
       1) More kernel info leaks found by Mathias Krause, this time in the
          IPSEC configuration layers.
      
       2) When IPSEC policies change, we do not properly make sure that cached
          routes (which could now be stale) throughout the system will be
          revalidated.  Fix this by generalizing the generation count
          invalidation scheme used by ipv4.  From Nicolas Dichtel.
      
       3) When repairing TCP sockets, we need to allow to restore not just the
          send window scale, but the receive one too.  Extend the existing
          interface to achieve this in a backwards compatible way.  From
          Andrey Vagin.
      
       4) A fix for FCOE scatter gather feature validation erroneously caused
          scatter gather to be disabled for things like AOE too.  From Ed L
          Cashin.
      
       5) Several cases of mishandling of error pointers, from Mathias Krause,
          Wei Yongjun, and Devendra Naga.
      
       6) Fix gianfar build, from Richard Cochran.
      
       7) CAP_NET_* failures should return -EPERM not -EACCES, from Zhao
          Hongjiang.
      
       8) Hardware reset fix in janz-ican3 CAN driver, from Ira W Snyder.
      
       9) Fix oops during rmmod in ti_hecc CAN driver, from Marc Kleine-Budde.
      
      10) The removal of the conditional compilation of the clk support code
          in the stmmac driver broke things.  This is because the interfaces
          used are the ones that don't also perform the enable/disable of the
          clk.  Fix from Stefan Roese.
      
      11) The QFQ packet scheduler can record out of range virtual start
          times, resulting later in misbehavior and even crashes.  Fix from
          Paolo Valente.
      
      12) If MSG_WAITALL is used with IOAT DMA under TCP, we can wedge the
          receiver when the advertised receive window goes to zero.  Detect
          this case and force the processing of the IOAT DMA queue when it
          happens to avoid getting stuck.  Fix from Michal Kubecek.
      
      13) batman-adv assumes that test_bit() returns only 0 or 1, but this is
          not true for x86 (which returns -1 or 0, via the 'sbb' instruction).
          Fix from Linus Lussing.
      
      14) Fix small packet corruption in e1000, from Tushar Dave.
      
      15) make_blackhole() in the IPSEC policy code can do one read unlock too
          many, fix from Li RongQing.
      
      16) The new tcp_try_coalesce() code introduced a bug in TCP URG
          handling, fix from Eric Dumazet.
      
      17) Fix memory leak in __netif_receive_skb() when doing zerocopy and
          when hit an OOM condition.  From Michael S Tsirkin.
      
      18) netxen blindly deferences pdev->bus->self, which is not guarenteed
          to be non-NULL.  Fix from Nikolay Aleksandrov.
      
      19) Fix a performance regression caused by mistakes in ipv6 checksum
          validation in the bnx2x driver, fix from Michal Schmidt.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (45 commits)
        net/stmmac: Use clk_prepare_enable and clk_disable_unprepare
        net: change return values from -EACCES to -EPERM
        net/irda: sh_sir: fix return value check in sh_sir_set_baudrate()
        stmmac: fix return value check in stmmac_open_ext_timer()
        gianfar: fix phc index build failure
        ipv6: fix return value check in fib6_add()
        bnx2x: remove false warning regarding interrupt number
        can: ti_hecc: fix oops during rmmod
        can: janz-ican3: fix support for older hardware revisions
        net: do not disable sg for packets requiring no checksum
        aoe: assert AoE packets marked as requiring no checksum
        at91ether: return PTR_ERR if call to clk_get fails
        xfrm_user: don't copy esn replay window twice for new states
        xfrm_user: ensure user supplied esn replay window is valid
        xfrm_user: fix info leak in copy_to_user_tmpl()
        xfrm_user: fix info leak in copy_to_user_policy()
        xfrm_user: fix info leak in copy_to_user_state()
        xfrm_user: fix info leak in copy_to_user_auth()
        net: qmi_wwan: adding Huawei E367, ZTE MF683 and Pantech P4200
        tcp: restore rcv_wscale in a repair mode (v2)
        ...
      abef3bd7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 6219844e
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
      1) Debugging builds on 32-bit sparc need to handle the R_SPARC_DISP32
         relocation, not just 64-bit sparc.  From Andreas Larsson.
      
      2) Wei Yongjun noticed that module_alloc() on sparc can return an
         error pointer, but that's not allowed.  module_alloc() should
         return only a valid pointer, or NULL.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: fix the return value of module_alloc()
        sparc32: Enable the relocation target R_SPARC_DISP32 for sparc32
      6219844e
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d108907
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Small fixlets"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/init.c: Fix devmem_is_allowed() off by one
        x86/kconfig: Remove outdated reference to Intel CPUs in CONFIG_SWIOTLB
      9d108907