1. 02 Jun, 2012 13 commits
  2. 01 Jun, 2012 27 commits
    • Linus Torvalds's avatar
      Merge tag 'fbdev-updates-for-3.5' of git://github.com/schandinat/linux-2.6 · 804ce986
      Linus Torvalds authored
      Pull fbdev updates from Florian Tobias Schandinat:
       - driver for AUO-K1900 and AUO-K1901 epaper controller
       - large updates for OMAP (e.g. decouple HDMI audio and video)
       - some updates for Exynos and SH Mobile
       - various other small fixes and cleanups
      
      * tag 'fbdev-updates-for-3.5' of git://github.com/schandinat/linux-2.6: (130 commits)
        video: bfin_adv7393fb: Fix cleanup code
        video: exynos_dp: reduce delay time when configuring video setting
        video: exynos_dp: move sw reset prioir to enabling sw defined function
        video: exynos_dp: use devm_ functions
        fb: handle NULL pointers in framebuffer release
        OMAPDSS: HDMI: OMAP4: Update IRQ flags for the HPD IRQ request
        OMAPDSS: Apply VENC timings even if panel is disabled
        OMAPDSS: VENC/DISPC: Delay dividing Y resolution for managers connected to VENC
        OMAPDSS: DISPC: Support rotation through TILER
        OMAPDSS: VRFB: remove compiler warnings when CONFIG_BUG=n
        OMAPFB: remove compiler warnings when CONFIG_BUG=n
        OMAPDSS: remove compiler warnings when CONFIG_BUG=n
        OMAPDSS: DISPC: fix usage of dispc_ovl_set_accu_uv
        OMAPDSS: use DSI_FIFO_BUG workaround only for manual update displays
        OMAPDSS: DSI: Support command mode interleaving during video mode blanking periods
        OMAPDSS: DISPC: Update Accumulator configuration for chroma plane
        drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers
        video: exynos mipi dsi: support reverse panel type
        video: exynos mipi dsi: Properly interpret the interrupt source flags
        video: exynos mipi dsi: Avoid races in probe()
        ...
      804ce986
    • Linus Torvalds's avatar
      Merge tag 'for-linus-3.5-20120601' of git://git.infradead.org/linux-mtd · f5e7e844
      Linus Torvalds authored
      Pull mtd update from David Woodhouse:
       - More robust parsing especially of xattr data in JFFS2
       - Updates to mxc_nand and gpmi drivers to support new boards and device tree
       - Improve consistency of information about ECC strength in NAND devices
       - Clean up partition handling of plat_nand
       - Support NAND drivers without dedicated access to OOB area
       - BCH hardware ECC support for OMAP
       - Other fixes and cleanups, and a few new device IDs
      
      Fixed trivial conflict in drivers/mtd/nand/gpmi-nand/gpmi-nand.c due to
      added include files next to each other.
      
      * tag 'for-linus-3.5-20120601' of git://git.infradead.org/linux-mtd: (75 commits)
        mtd: mxc_nand: move ecc strengh setup before nand_scan_tail
        mtd: block2mtd: fix recursive call of mtd_writev
        mtd: gpmi-nand: define ecc.strength
        mtd: of_parts: fix breakage in Kconfig
        mtd: nand: fix scan_read_raw_oob
        mtd: docg3 fix in-middle of blocks reads
        mtd: cfi_cmdset_0002: Slight cleanup of fixup messages
        mtd: add fixup for S29NS512P NOR flash.
        jffs2: allow to complete xattr integrity check on first GC scan
        jffs2: allow to discriminate between recoverable and non-recoverable errors
        mtd: nand: omap: add support for hardware BCH ecc
        ARM: OMAP3: gpmc: add BCH ecc api and modes
        mtd: nand: check the return code of 'read_oob/read_oob_raw'
        mtd: nand: remove 'sndcmd' parameter of 'read_oob/read_oob_raw'
        mtd: m25p80: Add support for Winbond W25Q80BW
        jffs2: get rid of jffs2_sync_super
        jffs2: remove unnecessary GC pass on sync
        jffs2: remove unnecessary GC pass on umount
        jffs2: remove lock_super
        mtd: gpmi: add gpmi support for mx6q
        ...
      f5e7e844
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 48445159
      Linus Torvalds authored
      Pull x86 platform driver updates from Matthew Garrett:
       "Some significant improvements for the Sony driver on newer machines,
        but other than that mostly just minor fixes and a patch to remove the
        broken rfkill code from the Dell driver."
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (35 commits)
        apple-gmux: Fix up the suspend/resume patch
        dell-laptop: Remove rfkill code
        toshiba_acpi: Fix mis-merge
        dell-laptop: Add touchpad led support for Dell V3450
        acer-wmi: add 3 laptops to video backlight vendor mode quirk table
        sony-laptop: add touchpad enable/disable function
        sony-laptop: add missing Fn key combos for 0x100 handlers
        sony-laptop: add support for more WWAN modems
        sony-laptop: new keyboard backlight handle
        sony-laptop: add high speed battery charging function
        sony-laptop: support automatic resume on lid open
        sony-laptop: adjust error handling in finding SNC handles
        sony-laptop: add thermal profiles support
        sony-laptop: support battery care functions
        sony-laptop: additional debug statements
        sony-laptop: improve SNC initialization and acpi notify callback code
        sony-laptop: use kstrtoul to parse sysfs values
        sony-laptop: generalise ACPI calls into SNC functions
        sony-laptop: fix return path when no ACPI buffer is allocated
        sony-laptop: use soft rfkill status stored in hw
        ...
      48445159
    • Linus Torvalds's avatar
      Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · af4f8ba3
      Linus Torvalds authored
      Pull slab updates from Pekka Enberg:
       "Mainly a bunch of SLUB fixes from Joonsoo Kim"
      
      * 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
        slub: use __SetPageSlab function to set PG_slab flag
        slub: fix a memory leak in get_partial_node()
        slub: remove unused argument of init_kmem_cache_node()
        slub: fix a possible memory leak
        Documentations: Fix slabinfo.c directory in vm/slub.txt
        slub: fix incorrect return type of get_any_partial()
      af4f8ba3
    • H. Peter Anvin's avatar
    • Linus Torvalds's avatar
      Merge branch 'ux500/hickup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · efff0471
      Linus Torvalds authored
      Pull arm fixes for ux500 mismerge mishap from Arnd Bergmann:
       "The device tree conversion for arm/ux500 in 3.5 turns out to be
        incomplete because of a mismerge done by Linus Walleij that I failed
        to notice early enough and that Lee Jones as the original author of
        those patches did not manage to fix during the -next cycle.  While we
        originally to get a much larger set of ux500 device tree enablement
        patches merged, this did not happen in time.
      
        After some discussion at Linaro Connect conference this week, Lee has
        been able to do damage control and provide a series to put the broken
        platform back into usable shape for both DT and non-DT based booting.
      
        This series has not been part of linux-next and is based on top of the
        current state of the upstream kernel rather than an -rc, but this is
        the best we could manage given the earlier breakage."
      
      * 'ux500/hickup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: ux500: Enable probing of pinctrl through Device Tree
        ARM: ux500: Add support for ab8500 regulators into the Device Tree
        ARM: ux500: Provide regulator support for SMSC911x via Device Tree
        ARM: ux500: Allow PRCMU regulator to be probed during a DT enabled boot
        ARM: ux500: Apply db8500-prcmu regulator information to db8500 Device Tree
        ARM: ux500: Only initialise STE's UIBs on boards which support them
        ARM: ux500: Disable platform setup of the ab8500 when DT is enabled
        ARM: ux500: Use correct format for dynamic IRQ assignment
        ARM: ux500: Re-enable SMSC911x platform code registration during non-DT boots
        ARM: ux500: PRCMU related configuration and layout corrections for Device Tree
        ARM: ux500: Remove DB8500 PRCMU platform registration when DT is enabled
        ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
        ARM: ux500: New DT:ed u8500_init_devices for one-by-one device enablement
        ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
        pinctrl-nomadik: Allow Device Tree driver probing
      efff0471
    • Devendra Naga's avatar
      r8169: call netif_napi_del at errpaths and at driver unload · ad1be8d3
      Devendra Naga authored
      when register_netdev fails, the init'ed NAPIs by netif_napi_add must be
      deleted with netif_napi_del, and also when driver unloads, it should
      delete the NAPI before unregistering netdevice using unregister_netdev.
      Signed-off-by: default avatarDevendra Naga <devendra.aaru@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ad1be8d3
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 3ded7acf
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "A bunch of fixes:
         - vmware memory corruption
         - ttm spinlock balance
         - cirrus/mgag200 work in the presence of efifb
        and finally Alex and Jerome managed to track down a magic set of bits
        that on certain rv740 and evergreen cards allow the correct use of the
        complete set of render backends, this makes the cards operate
        correctly in a number of scenarios we had issues in before, it also
        manages to boost speed on benchmarks my large amounts on these
        specific gpus."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/edid: Make the header fixup threshold tunable
        drm/radeon: fix regression in UMS CS ioctl
        drm/vmwgfx: Fix nasty write past alloced memory area
        drm/ttm: Fix spinlock imbalance
        drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4)
        drm/radeon: fix HD6790, HD6570 backend programming
        drm/radeon: properly program gart on rv740, juniper, cypress, barts, hemlock
        drm/radeon: fix bank information in tiling config
        drm/mgag200: kick off conflicting framebuffers earlier.
        drm/cirrus: kick out conflicting framebuffers earlier
        cirrus: avoid crash if driver fails to load
      3ded7acf
    • Linus Torvalds's avatar
      Merge tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 37b22400
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a few trivial driver-specific fixes."
      
      * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hdspm - Work around broken DDS value on PCI RME MADI
        ALSA: usb-audio: fix rate_list memory leak
        ASoC: fsi: bugfix: ensure dma is terminated
        ASoC: fsi: bugfix: correct dma area
        ASoC: fsi: bugfix: enable master clock control on DMA stream
        ASoC: imx-ssi: Use clk_prepare_enable/clk_disable_unprepare
      37b22400
    • H.J. Lu's avatar
      x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32 · bad1a753
      H.J. Lu authored
      When I added x32 ptrace to 3.4 kernel, I also include PTRACE_ARCH_PRCTL
      support for x32 GDB  For ARCH_GET_FS/GS, it takes a pointer to int64.  But
      at user level, ARCH_GET_FS/GS takes a pointer to int32.  So I have to add
      x32 ptrace to glibc to handle it with a temporary int64 passed to kernel and
      copy it back to GDB as int32.  Roland suggested that PTRACE_ARCH_PRCTL
      is obsolete and x32 GDB should use fs_base and gs_base fields of
      user_regs_struct instead.
      
      Accordingly, remove PTRACE_ARCH_PRCTL completely from the x32 code to
      avoid possible memory overrun when pointer to int32 is passed to
      kernel.
      
      Link: http://lkml.kernel.org/r/CAMe9rOpDzHfS7NH7m1vmD9QRw8SSj4Sc%2BaNOgcWm_WJME2eRsQ@mail.gmail.comSigned-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: <stable@vger.kernel.org> v3.4
      bad1a753
    • Sascha Hauer's avatar
      mtd: mxc_nand: move ecc strengh setup before nand_scan_tail · 4a43faf5
      Sascha Hauer authored
      Since commit 6a918bad, the mxc_nand driver
      fails with:
      
      Driver must set ecc.strength when using hardware ECC
      
      This is because nand_scan_tail checks for correct ecc strength
      settings, so we must set them up before nand_scan_tail.
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Cc: stable@vger.kernel.org [3.4+]
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      4a43faf5
    • Gabor Juhos's avatar
      mtd: block2mtd: fix recursive call of mtd_writev · 2e24e32e
      Gabor Juhos authored
      The 'mtd_writev' interface calls the function assigned
      to the '_write' field of a given mtd device if that is
      not NULL. The block2mtd driver sets the '_writev' field
      to the 'mtd_writev' function itself and thus causes a
      endless loop.
      
      This is caused by 1dbebd32
      (mtd: harmonize mtd_writev usage).
      
      Remove the assignment from the block2mtd driver to fix the
      issue.
      Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
      Cc: stable@kernel.org [3.3+]
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      2e24e32e
    • Marek Vasut's avatar
      mtd: gpmi-nand: define ecc.strength · 5636ce0f
      Marek Vasut authored
      Fix an issue which was introduced by the recent addition of ecc.strength.
      
      The ecc.strength wasn't set in gpmi-nand, resulting in the following crash:
      [    2.550000] kernel BUG at drivers/mtd/nand/nand_base.c:3347!
      ...
      [    2.550000] [<c020841c>] (nand_scan_tail+0x328/0x650) from [<c02f68e0>] (gpmi_nand_probe+0x43c/0x5a4)
      [    2.550000] [<c02f68e0>] (gpmi_nand_probe+0x43c/0x5a4) from [<c01f6618>] (platform_drv_probe+0x14/0x18)
      [    2.550000] [<c01f6618>] (platform_drv_probe+0x14/0x18) from [<c01f55b0>] (driver_probe_device+0x74/0x1fc)
      [    2.550000] [<c01f55b0>] (driver_probe_device+0x74/0x1fc) from [<c01f57cc>] (__driver_attach+0x94/0x98)
      [    2.550000] [<c01f57cc>] (__driver_attach+0x94/0x98) from [<c01f3d40>] (bus_for_each_dev+0x50/0x80)
      [    2.550000] [<c01f3d40>] (bus_for_each_dev+0x50/0x80) from [<c01f4e18>] (bus_add_driver+0x188/0x25c)
      [    2.550000] [<c01f4e18>] (bus_add_driver+0x188/0x25c) from [<c01f5a70>] (driver_register+0x78/0x138)
      [    2.550000] [<c01f5a70>] (driver_register+0x78/0x138) from [<c043dc7c>] (gpmi_nand_init+0xc/0x30)
      [    2.550000] [<c043dc7c>] (gpmi_nand_init+0xc/0x30) from [<c0008824>] (do_one_initcall+0x108/0x17c)
      [    2.550000] [<c0008824>] (do_one_initcall+0x108/0x17c) from [<c042a8b8>] (kernel_init+0xfc/0x1bc)
      [    2.550000] [<c042a8b8>] (kernel_init+0xfc/0x1bc) from [<c000fab4>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      5636ce0f
    • Matthew Garrett's avatar
      apple-gmux: Fix up the suspend/resume patch · a2f01a89
      Matthew Garrett authored
      I incorporated the wrong version of the suspend/resume patch for gmux,
      and so lost David Woodhouse's fix to leave the backlight level unchanged
      over suspend/resume. This fixes it up to v2.
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      a2f01a89
    • Frank Svendsboe's avatar
      mtd: of_parts: fix breakage in Kconfig · 2e929d00
      Frank Svendsboe authored
      MTD_OF_PARTS and the default setting is not working due to using 'Y'
      instead of 'y', introduced in commit
      d6137bad. This made our board, and
      possibly other boards using DTS defined partitions and not having
      CONFIG_MTD_OF_PARTS=y defined in the defconfig, fail to mount root.
      Signed-off-by: default avatarFrank Svendsboe <frank.svendsboe@gmail.com>
      Cc: stable@kernel.org [3.2+]
      Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      2e929d00
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 86c47b70
      Linus Torvalds authored
      Pull third pile of signal handling patches from Al Viro:
       "This time it's mostly helpers and conversions to them; there's a lot
        of stuff remaining in the tree, but that'll either go in -rc2
        (isolated bug fixes, ideally via arch maintainers' trees) or will sit
        there until the next cycle."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        x86: get rid of calling do_notify_resume() when returning to kernel mode
        blackfin: check __get_user() return value
        whack-a-mole with TIF_FREEZE
        FRV: Optimise the system call exit path in entry.S [ver #2]
        FRV: Shrink TIF_WORK_MASK [ver #2]
        FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions
        new helper: signal_delivered()
        powerpc: get rid of restore_sigmask()
        most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set
        set_restore_sigmask() is never called without SIGPENDING (and never should be)
        TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set
        don't call try_to_freeze() from do_signal()
        pull clearing RESTORE_SIGMASK into block_sigmask()
        sh64: failure to build sigframe != signal without handler
        openrisc: tracehook_signal_handler() is supposed to be called on success
        new helper: sigmask_to_save()
        new helper: restore_saved_sigmask()
        new helpers: {clear,test,test_and_clear}_restore_sigmask()
        HAVE_RESTORE_SIGMASK is defined on all architectures now
      86c47b70
    • Eric Dumazet's avatar
      tcp: reflect SYN queue_mapping into SYNACK packets · fff32699
      Eric Dumazet authored
      While testing how linux behaves on SYNFLOOD attack on multiqueue device
      (ixgbe), I found that SYNACK messages were dropped at Qdisc level
      because we send them all on a single queue.
      
      Obvious choice is to reflect incoming SYN packet @queue_mapping to
      SYNACK packet.
      
      Under stress, my machine could only send 25.000 SYNACK per second (for
      200.000 incoming SYN per second). NIC : ixgbe with 16 rx/tx queues.
      
      After patch, not a single SYNACK is dropped.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Hans Schillstrom <hans.schillstrom@ericsson.com>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fff32699
    • Eric Dumazet's avatar
      tcp: do not create inetpeer on SYNACK message · 7433819a
      Eric Dumazet authored
      Another problem on SYNFLOOD/DDOS attack is the inetpeer cache getting
      larger and larger, using lots of memory and cpu time.
      
      tcp_v4_send_synack()
      ->inet_csk_route_req()
       ->ip_route_output_flow()
        ->rt_set_nexthop()
         ->rt_init_metrics()
          ->inet_getpeer( create = true)
      
      This is a side effect of commit a4daad6b (net: Pre-COW metrics for
      TCP) added in 2.6.39
      
      Possible solution :
      
      Instruct inet_csk_route_req() to remove FLOWI_FLAG_PRECOW_METRICS
      
      Before patch :
      
      # grep peer /proc/slabinfo
      inet_peer_cache   4175430 4175430    192   42    2 : tunables    0    0    0 : slabdata  99415  99415      0
      
      Samples: 41K of event 'cycles', Event count (approx.): 30716565122
      +  20,24%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_getpeer
      +   8,19%      ksoftirqd/0  [kernel.kallsyms]           [k] peer_avl_rebalance.isra.1
      +   4,81%      ksoftirqd/0  [kernel.kallsyms]           [k] sha_transform
      +   3,64%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_table_lookup
      +   2,36%      ksoftirqd/0  [ixgbe]                     [k] ixgbe_poll
      +   2,16%      ksoftirqd/0  [kernel.kallsyms]           [k] __ip_route_output_key
      +   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] kernel_map_pages
      +   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] ip_route_input_common
      +   2,01%      ksoftirqd/0  [kernel.kallsyms]           [k] __inet_lookup_established
      +   1,83%      ksoftirqd/0  [kernel.kallsyms]           [k] md5_transform
      +   1,75%      ksoftirqd/0  [kernel.kallsyms]           [k] check_leaf.isra.9
      +   1,49%      ksoftirqd/0  [kernel.kallsyms]           [k] ipt_do_table
      +   1,46%      ksoftirqd/0  [kernel.kallsyms]           [k] hrtimer_interrupt
      +   1,45%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_alloc
      +   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_csk_search_req
      +   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] __netif_receive_skb
      +   1,16%      ksoftirqd/0  [kernel.kallsyms]           [k] copy_user_generic_string
      +   1,15%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_free
      +   1,02%      ksoftirqd/0  [kernel.kallsyms]           [k] tcp_make_synack
      +   0,93%      ksoftirqd/0  [kernel.kallsyms]           [k] _raw_spin_lock_bh
      +   0,87%      ksoftirqd/0  [kernel.kallsyms]           [k] __call_rcu
      +   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] rt_garbage_collect
      +   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_rules_lookup
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Hans Schillstrom <hans.schillstrom@ericsson.com>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7433819a
    • Jason Wang's avatar
      8139cp/8139too: terminate the eeprom access with the right opmode · 0bc777bc
      Jason Wang authored
      Currently, we terminate the eeprom access through clearing the CS by:
      
      RTL_W8 (Cfg9346, ~EE_CS); or writeb (~EE_CS, ee_addr);
      
      This would left the eeprom into "Config. Register Write Enable:"
      state which is not expcted as the highest two bits were set to
      0x11 ( expected is the "Normal" mode (0x00)). Solving this by write
      0x0 instead of ~EE_CS when terminating the eeprom access.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0bc777bc
    • Jason Wang's avatar
      8139cp: set ring address before enabling receiver · b01af457
      Jason Wang authored
      Currently, we enable the receiver before setting the ring address which could
      lead the card DMA into unexpected areas. Solving this by set the ring address
      before enabling the receiver.
      
      btw. I find and test this in qemu as I didn't have a 8139cp card in hand. please
      review it carefully.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b01af457
    • Paul Moore's avatar
      cipso: handle CIPSO options correctly when NetLabel is disabled · 20e2a864
      Paul Moore authored
      When NetLabel is not enabled, e.g. CONFIG_NETLABEL=n, and the system
      receives a CIPSO tagged packet it is dropped (cipso_v4_validate()
      returns non-zero).  In most cases this is the correct and desired
      behavior, however, in the case where we are simply forwarding the
      traffic, e.g. acting as a network bridge, this becomes a problem.
      
      This patch fixes the forwarding problem by providing the basic CIPSO
      validation code directly in ip_options_compile() without the need for
      the NetLabel or CIPSO code.  The new validation code can not perform
      any of the CIPSO option label/value verification that
      cipso_v4_validate() does, but it can verify the basic CIPSO option
      format.
      
      The behavior when NetLabel is enabled is unchanged.
      Signed-off-by: default avatarPaul Moore <pmoore@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20e2a864
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 1193755a
      Linus Torvalds authored
      Pull vfs changes from Al Viro.
       "A lot of misc stuff.  The obvious groups:
         * Miklos' atomic_open series; kills the damn abuse of
           ->d_revalidate() by NFS, which was the major stumbling block for
           all work in that area.
         * ripping security_file_mmap() and dealing with deadlocks in the
           area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in
           general.
         * ->encode_fh() switched to saner API; insane fake dentry in
           mm/cleancache.c gone.
         * assorted annotations in fs (endianness, __user)
         * parts of Artem's ->s_dirty work (jff2 and reiserfs parts)
         * ->update_time() work from Josef.
         * other bits and pieces all over the place.
      
        Normally it would've been in two or three pull requests, but
        signal.git stuff had eaten a lot of time during this cycle ;-/"
      
      Fix up trivial conflicts in Documentation/filesystems/vfs.txt (the
      'truncate_range' inode method was removed by the VM changes, the VFS
      update adds an 'update_time()' method), and in fs/btrfs/ulist.[ch] (due
      to sparse fix added twice, with other changes nearby).
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)
        nfs: don't open in ->d_revalidate
        vfs: retry last component if opening stale dentry
        vfs: nameidata_to_filp(): don't throw away file on error
        vfs: nameidata_to_filp(): inline __dentry_open()
        vfs: do_dentry_open(): don't put filp
        vfs: split __dentry_open()
        vfs: do_last() common post lookup
        vfs: do_last(): add audit_inode before open
        vfs: do_last(): only return EISDIR for O_CREAT
        vfs: do_last(): check LOOKUP_DIRECTORY
        vfs: do_last(): make ENOENT exit RCU safe
        vfs: make follow_link check RCU safe
        vfs: do_last(): use inode variable
        vfs: do_last(): inline walk_component()
        vfs: do_last(): make exit RCU safe
        vfs: split do_lookup()
        Btrfs: move over to use ->update_time
        fs: introduce inode operation ->update_time
        reiserfs: get rid of resierfs_sync_super
        reiserfs: mark the superblock as dirty a bit later
        ...
      1193755a
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 4edebed8
      Linus Torvalds authored
      Pull Ext4 updates from Theodore Ts'o:
       "The major new feature added in this update is Darrick J Wong's
        metadata checksum feature, which adds crc32 checksums to ext4's
        metadata fields.
      
        There is also the usual set of cleanups and bug fixes."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (44 commits)
        ext4: hole-punch use truncate_pagecache_range
        jbd2: use kmem_cache_zalloc wrapper instead of flag
        ext4: remove mb_groups before tearing down the buddy_cache
        ext4: add ext4_mb_unload_buddy in the error path
        ext4: don't trash state flags in EXT4_IOC_SETFLAGS
        ext4: let getattr report the right blocks in delalloc+bigalloc
        ext4: add missing save_error_info() to ext4_error()
        ext4: add debugging trigger for ext4_error()
        ext4: protect group inode free counting with group lock
        ext4: use consistent ssize_t type in ext4_file_write()
        ext4: fix format flag in ext4_ext_binsearch_idx()
        ext4: cleanup in ext4_discard_allocated_blocks()
        ext4: return ENOMEM when mounts fail due to lack of memory
        ext4: remove redundundant "(char *) bh->b_data" casts
        ext4: disallow hard-linked directory in ext4_lookup
        ext4: fix potential integer overflow in alloc_flex_gd()
        ext4: remove needs_recovery in ext4_mb_init()
        ext4: force ro mount if ext4_setup_super() fails
        ext4: fix potential NULL dereference in ext4_free_inodes_counts()
        ext4/jbd2: add metadata checksumming to the list of supported features
        ...
      4edebed8
    • Al Viro's avatar
      x86: get rid of calling do_notify_resume() when returning to kernel mode · 44fbbb3d
      Al Viro authored
      If we end up calling do_notify_resume() with !user_mode(refs), it
      does nothing (do_signal() explicitly bails out and we can't get there
      with TIF_NOTIFY_RESUME in such situations).  Then we jump to
      resume_userspace_sig, which rechecks the same thing and bails out
      to resume_kernel, thus breaking the loop.
      
      It's easier and cheaper to check *before* calling do_notify_resume()
      and bail out to resume_kernel immediately.  And kill the check in
      do_signal()...
      
      Note that on amd64 we can't get there with !user_mode() at all - asm
      glue takes care of that.
      Acked-and-reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      44fbbb3d
    • Al Viro's avatar
      blackfin: check __get_user() return value · 29bf5dd8
      Al Viro authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      29bf5dd8
    • Al Viro's avatar
      whack-a-mole with TIF_FREEZE · 35d51807
      Al Viro authored
      blackfin has reintroduced it, completely unused.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      35d51807
    • David Howells's avatar
      FRV: Optimise the system call exit path in entry.S [ver #2] · a2eddc7c
      David Howells authored
      Optimise the system call exit path in entry.S by packing some instructions.
      Suggested-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      a2eddc7c