1. 07 10月, 2012 6 次提交
    • A
      ARM: rpc: check device_register return code in ecard_probe · 5f07809e
      Arnd Bergmann 提交于
      device_register is marked __must_check, so we better propagate the error
      value by returning it from ecard_probe.
      
      Without this patch, building rpc_defconfig results in:
      
      arch/arm/mach-rpc/ecard.c: In function 'ecard_probe':
      arch/arm/mach-rpc/ecard.c:963:17: warning: ignoring return value of 'device_register', declared with attribute warn_unused_result [-Wunused-result]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      5f07809e
    • A
      ARM: davinci: don't mark da850_register_cpufreq as __init · 5063557a
      Arnd Bergmann 提交于
      The mityomapl138_cpufreq_init and read_factory_config function in
      board-mityomapl138.c are not __init functions and might be called
      at a later stage, so da850_register_cpufreq must not be __init either.
      
      Without this patch, building da8xx_omapl_defconfig results in:
      
      WARNING: arch/arm/mach-davinci/built-in.o(.text+0x2eb4): Section mismatch in reference from the function read_factory_config() to the function .init.text:da850_register_cpufreq()
      The function read_factory_config() references
      the function __init da850_register_cpufreq().
      This is often because read_factory_config lacks a __init
      annotation or the annotation of da850_register_cpufreq is wrong.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      5063557a
    • A
      ARM: iop13xx: fix iq81340sc_atux_map_irq prototype · 58cbdbe0
      Arnd Bergmann 提交于
      The pci map_irq callbacks get a 'const' pci_dev argument, so change the
      iop13xx version to use the same prototype as everything else.
      
      Without this patch, building iop13xx_defconfig results in:
      
      arch/arm/mach-iop13xx/iq81340sc.c:63:2: warning: initialization from incompatible pointer type [enabled by default]
      arch/arm/mach-iop13xx/iq81340sc.c:63:2: warning: (near initialization for 'iq81340sc_pci.map_irq') [enabled by default]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Lennert Buytenhek <kernel@wantstofly.org>
      Cc: Dan Williams <djbw@fb.com>
      58cbdbe0
    • A
      ARM: iop13xx: mark iop13xx_scan_bus as __devinit · b04e246a
      Arnd Bergmann 提交于
      pci_scan_root_bus is __devinit, so iop13xx_scan_bus has to be the
      same in order to safely call it. This is ok because the function
      itself is only called from the hwpci->scan callback.
      
      WARNING: vmlinux.o(.text+0x10138): Section mismatch in reference from the function iop13xx_scan_bus() to the function .devinit.text:pci_scan_root_bus()
      The function iop13xx_scan_bus() references
      the function __devinit pci_scan_root_bus().
      This is often because iop13xx_scan_bus lacks a __devinit
      annotation or the annotation of pci_scan_root_bus is wrong.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Lennert Buytenhek <kernel@wantstofly.org>
      Cc: Dan Williams <djbw@fb.com>
      b04e246a
    • A
      ARM: mv78xx0: mark mv78xx0_timer_init as __init_refok · e7215fb3
      Arnd Bergmann 提交于
      The sys_timer init function is only called at __init time,
      so it's safe to mark mv78xx0_timer_init as __init_refok,
      which allows us to call orion_time_init without getting
      a link time warning.
      
      Without this patch, building mv78xx0_defconfig results in:
      
      WARNING: vmlinux.o(.text+0x15470): Section mismatch in reference from the function mv78xx0_timer_init() to the function .init.text:orion_time_init()
      The function mv78xx0_timer_init() references
      the function __init orion_time_init().
      This is often because mv78xx0_timer_init lacks a __init
      annotation or the annotation of orion_time_init is wrong.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      e7215fb3
    • A
      ARM: s3c24xx: fix multiple section mismatch warnings · 673550a1
      Arnd Bergmann 提交于
      The *_irq_add function should not be marked __init because the driver
      subsystem thinks they might be called at a later stage.
      
      The usb_simtec_init function accesses initdata and should be marked
      init. This is safe because the only caller is also an init function.
      
      Without this patch, building s3c2410_defconfig results in:
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.data+0x1030): Section mismatch in reference from the variable s3c2416_irq_interface to the function .init.text:s3c2416_irq_add()
      The variable s3c2416_irq_interface references
      the function __init s3c2416_irq_add()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.data+0x1b08): Section mismatch in reference from the variable s3c2443_irq_interface to the function .init.text:s3c2443_irq_add()
      The variable s3c2443_irq_interface references
      the function __init s3c2443_irq_add()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.data+0xf44): Section mismatch in reference from the variable s3c2416_irq_interface to the function .init.text:s3c2416_irq_add()
      The variable s3c2416_irq_interface references
      the function __init s3c2416_irq_add()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.text+0x3f7c): Section mismatch in reference from the function usb_simtec_init() to the (unknown reference) .init.data:(unknown)
      The function usb_simtec_init() references
      the (unknown reference) __initdata (unknown).
      This is often because usb_simtec_init lacks a __initdata
      annotation or the annotation of (unknown) is wrong.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      673550a1
  2. 04 10月, 2012 7 次提交
    • A
      ARM: at91: unused variable in at91_pm_verify_clocks · 9e0e4e11
      Arnd Bergmann 提交于
      The code using the variable 'i' in this function is conditional which
      results in a harmless compiler warning. Using the IS_ENABLED macro
      instead of #ifdef makes the code look nicer and gets rid of the
      warning.
      
      Without this patch, building at91sam9263_defconfig results in:
      
      /home/arnd/linux-arm/arch/arm/mach-at91/pm.c: In function 'at91_pm_verify_clocks':
      /home/arnd/linux-arm/arch/arm/mach-at91/pm.c:137:6: warning: unused variable 'i' [-Wunused-variable]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      9e0e4e11
    • A
      ARM: at91: skip at91_io_desc definition for NOMMU · ac09281a
      Arnd Bergmann 提交于
      On NOMMU systems, we do cannot remap the MMIO space, so the
      definition of at91_io_desc is unused.
      
      Without this patch, building at91x40_defconfig results in:
      
      arch/arm/mach-at91/setup.c:90:24: warning: 'at91_io_desc' defined but not used [-Wunused-variable]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      ac09281a
    • A
      ARM: pxa: work around duplicate definition of GPIO24_SSP1_SFRM · e0347c52
      Arnd Bergmann 提交于
      The symbol "GPIO24_SSP1_SFRM" is defined in both mfp-pxa27x.h and
      mfp-pxa25x.h. Since the macro is not actually used in the cm-x2xx.c
      file, but it includes both headers, a safe workaround should be
      to just undefine it from the .c file. This is a bit hacky and
      the headers should be fixed to not both define it, but for now
      it gets us around an annoying warning.
      
      Without this patch, building cm_x2xx_defconfig results in:
      
      In file included from arch/arm/mach-pxa/include/mach-pxa/pxa27x.h:7:0,
                       from arch/arm/mach-pxa/cm-x2xx.c:25:
      arch/arm/mach-pxa/include/mach-pxa/mfp-pxa27x.h:215:0: warning: "GPIO24_SSP1_SFRM" redefined [enabled by default]
      arch/arm/mach-pxa/include/mach-pxa/mfp-pxa25x.h:111:0: note: this is the location of the previous definition
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NIgor Grinberg <grinberg@compulab.co.il>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Mike Rapoport <mike@compulab.co.il>
      e0347c52
    • A
      ARM: pxa: remove sharpsl_fatal_check function · 066258f4
      Arnd Bergmann 提交于
      The sharpsl_fatal_check has not been used since Pavel Machek removed
      the caller in 99f329a2 "pxa/sharpsl_pm: zaurus c3000 aka spitz: fix
      resume". Nobody has complained since 2009, so it's safe to assume we
      can just remove the function.
      
      Without this patch, building corgi_defconfig results in:
      
      /home/arnd/linux-arm/arch/arm/mach-pxa/sharpsl_pm.c:693:12: warning: 'sharpsl_fatal_check' defined but not used [-Wunused-function]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Stanislav Brabec <utx@penguin.cz>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      066258f4
    • A
      ARM: pxa: define palmte2_pxa_keys conditionally · 30bda0eb
      Arnd Bergmann 提交于
      Gcc prints a harmless warning about palmte2_pxa_keys not being used
      when the gpio keyboard driver is disabled. The solution is to use
      the same #ifdef that is already present in the place where the
      symbol is used.
      
      Without this patch, building palmz72_defconfig results in:
      
      /home/arnd/linux-arm/arch/arm/mach-pxa/palmte2.c:128:31: warning: 'palmte2_pxa_keys' defined but not used [-Wunused-variable]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMarek Vasut <marek.vasut@gmail.com>
      Cc: Carlos Eduardo Medaglia Dyonisio <cadu@nerdfeliz.com>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      30bda0eb
    • A
      ARM: pxa: Wunused-result warning in viper board file · 5f0cc6d1
      Arnd Bergmann 提交于
      Calling kstrtoul requires checking the result. In case of
      the viper_tpm_setup function, let's fail the __setup function
      if the number was invalid.
      
      Without this patch, building viper_defconfig results in:
      
      arch/arm/mach-pxa/viper.c: In function 'viper_tpm_setup':
      arch/arm/mach-pxa/viper.c:771:10: warning: ignoring return value of 'kstrtoul', declared with attribute warn_unused_result [-Wunused-result]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMarc Zyngier <maz@misterjones.org>
      Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      5f0cc6d1
    • A
      ARM: shark: fix shark_pci_init return code · 9c7f4f5c
      Arnd Bergmann 提交于
      When run on the wrong platform, the shark_pci_init function
      returns an undefined value, as reported by a gcc warning,
      so let's just return -ENODEV.
      
      Without this patch, building shark_defconfig results in:
      
      arch/arm/mach-shark/pci.c: In function 'shark_pci_init':
      arch/arm/mach-shark/pci.c:42:3: warning: 'return' with no value, in function returning non-void [-Wreturn-type]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: "Krzysztof Halasa" <khc@pm.waw.pl>
      9c7f4f5c
  3. 01 10月, 2012 1 次提交
  4. 30 9月, 2012 3 次提交
    • M
      vfs: dcache: fix deadlock in tree traversal · 8110e16d
      Miklos Szeredi 提交于
      IBM reported a deadlock in select_parent().  This was found to be caused
      by taking rename_lock when already locked when restarting the tree
      traversal.
      
      There are two cases when the traversal needs to be restarted:
      
       1) concurrent d_move(); this can only happen when not already locked,
          since taking rename_lock protects against concurrent d_move().
      
       2) racing with final d_put() on child just at the moment of ascending
          to parent; rename_lock doesn't protect against this rare race, so it
          can happen when already locked.
      
      Because of case 2, we need to be able to handle restarting the traversal
      when rename_lock is already held.  This patch fixes all three callers of
      try_to_ascend().
      
      IBM reported that the deadlock is gone with this patch.
      
      [ I rewrote the patch to be smaller and just do the "goto again" if the
        lock was already held, but credit goes to Miklos for the real work.
         - Linus ]
      Signed-off-by: NMiklos Szeredi <mszeredi@suse.cz>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8110e16d
    • L
      Merge tag 'iommu-fixes-v3.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 6a3e3dbe
      Linus Torvalds 提交于
      Pull IOMMU fixes from Joerg Roedel:
       "Two small patches:
      
      	* One patch to fix the function declarations for
      	  !CONFIG_IOMMU_API. This is causing build errors
      	  in linux-next and should be fixed for v3.6.
      
      	* Another patch to fix an IOMMU group related NULL pointer
      	  dereference."
      
      * tag 'iommu-fixes-v3.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Fix wrong assumption in iommu-group specific code
        iommu: static inline iommu group stub functions
      6a3e3dbe
    • L
      Merge git://git.infradead.org/users/willy/linux-nvme · 21e98932
      Linus Torvalds 提交于
      Pull NVMe driver fixes from Matthew Wilcox:
       "Now that actual hardware has been released (don't have any yet
        myself), people are starting to want some of these fixes merged."
      
      Willy doesn't have hardware? Guys...
      
      * git://git.infradead.org/users/willy/linux-nvme:
        NVMe: Cancel outstanding IOs on queue deletion
        NVMe: Free admin queue memory on initialisation failure
        NVMe: Use ida for nvme device instance
        NVMe: Fix whitespace damage in nvme_init
        NVMe: handle allocation failure in nvme_map_user_pages()
        NVMe: Fix uninitialized iod compiler warning
        NVMe: Do not set IO queue depth beyond device max
        NVMe: Set block queue max sectors
        NVMe: use namespace id for nvme_get_features
        NVMe: replace nvme_ns with nvme_dev for user admin
        NVMe: Fix nvme module init when nvme_major is set
        NVMe: Set request queue logical block size
      21e98932
  5. 29 9月, 2012 5 次提交
    • L
      mtdchar: fix offset overflow detection · 9c603e53
      Linus Torvalds 提交于
      Sasha Levin has been running trinity in a KVM tools guest, and was able
      to trigger the BUG_ON() at arch/x86/mm/pat.c:279 (verifying the range of
      the memory type).  The call trace showed that it was mtdchar_mmap() that
      created an invalid remap_pfn_range().
      
      The problem is that mtdchar_mmap() does various really odd and subtle
      things with the vma page offset etc, and uses the wrong types (and the
      wrong overflow) detection for it.
      
      For example, the page offset may well be 32-bit on a 32-bit
      architecture, but after shifting it up by PAGE_SHIFT, we need to use a
      potentially 64-bit resource_size_t to correctly hold the full value.
      
      Also, we need to check that the vma length plus offset doesn't overflow
      before we check that it is smaller than the length of the mtdmap region.
      
      This fixes things up and tries to make the code a bit easier to read.
      Reported-and-tested-by: NSasha Levin <levinsasha928@gmail.com>
      Acked-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Acked-by: NArtem Bityutskiy <dedekind1@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: linux-mtd@lists.infradead.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9c603e53
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6672d90f
      Linus Torvalds 提交于
      Pull networking fixes from David S Miller:
      
       1) Netfilter xt_limit module can use uninitialized rules, from Jan
          Engelhardt.
      
       2) Wei Yongjun has found several more spots where error pointers were
          treated as NULL/non-NULL and vice versa.
      
       3) bnx2x was converted to pci_io{,un}map() but one remaining plain
          iounmap() got missed.  From Neil Horman.
      
       4) Due to a fence-post type error in initialization of inetpeer entries
          (which is where we store the ICMP rate limiting information), we can
          erroneously drop ICMPs if the inetpeer was created right around when
          jiffies wraps.
      
          Fix from Nicolas Dichtel.
      
       5) smsc75xx resume fix from Steve Glendinnig.
      
       6) LAN87xx smsc chips need an explicit hardware init, from Marek Vasut.
      
       7) qlcnic uses msleep() with locks held, fix from Narendra K.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        netdev: octeon: fix return value check in octeon_mgmt_init_phy()
        inetpeer: fix token initialization
        qlcnic: Fix scheduling while atomic bug
        bnx2: Clean up remaining iounmap
        net: phy: smsc: Implement PHY config_init for LAN87xx
        smsc75xx: fix resume after device reset
        netdev: pasemi: fix return value check in pasemi_mac_phy_init()
        team: fix return value check
        l2tp: fix return value check
        netfilter: xt_limit: have r->cost != 0 case work
      6672d90f
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7596824e
      Linus Torvalds 提交于
      Pull vfs fixes from Al Viro:
       "A couple of fixes; one for automount/lazy umount race, another a
        classic "we don't protect the refcount transition to zero with the
        lock that protects looking for object in hash" kind of crap in lockd."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        close the race in nlmsvc_free_block()
        do_add_mount()/umount -l races
      7596824e
    • L
      Merge branch 'for-linus-3.6-rc-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 97956605
      Linus Torvalds 提交于
      Pull UML fixes from Richard Weinberger.
      
      * 'for-linus-3.6-rc-final' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Preinclude include/linux/kern_levels.h
        um: Fix IPC on um
        um: kill thread->forking
        um: let signal_delivered() do SIGTRAP on singlestepping into handler
        um: don't leak floating point state and segment registers on execve()
        um: take cleaning singlestep to start_thread()
      97956605
    • L
      Merge tag 'dm-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · c3a086e6
      Linus Torvalds 提交于
      Pull dm fixes from Alasdair G Kergon:
       "A few fixes for problems discovered during the 3.6 cycle.
      
        Of particular note, are fixes to the thin target's discard support,
        which I hope is finally working correctly; and fixes for multipath
        ioctls and device limits when there are no paths."
      
      * tag 'dm-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
        dm verity: fix overflow check
        dm thin: fix discard support for data devices
        dm thin: tidy discard support
        dm: retain table limits when swapping to new table with no devices
        dm table: clear add_random unless all devices have it set
        dm: handle requests beyond end of device instead of using BUG_ON
        dm mpath: only retry ioctl when no paths if queue_if_no_path set
        dm thin: do not set discard_zeroes_data
      c3a086e6
  6. 28 9月, 2012 18 次提交