Skip to content
  1. Dec 16, 2011
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft · 6f12d2ee
      Linus Torvalds authored
      * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
        ibft: Fix finding IBFT ACPI table on UEFI
      6f12d2ee
    • Linus Torvalds's avatar
      Merge branch 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 88703f27
      Linus Torvalds authored
      * 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8712u: Add new USB ID
        staging: tidspbridge: request dmtimer clocks on init
        staging: tidspbridge: include module.h by default
      88703f27
    • Linus Torvalds's avatar
      Merge branch 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · f242bbc5
      Linus Torvalds authored
      * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: option: Removing one bogus and adding some new Huawei combinations
        USB: cdc-acm: add IDs for Motorola H24 HSPA USB module.
        usb: option: Add Huawei E398 controlling interfaces
        usb: renesas_usbhs: add hcd->has_tt for low/full speed
        usb: renesas_usbhs: typofix: irq_dtch control DTCHE
        usb: gadget: storage: release superspeed descriptors.
      f242bbc5
    • Uwe Kleine-König's avatar
      ARM: unwinder: fix bisection to find origin in .idx section · ddf5a25c
      Uwe Kleine-König authored
      The bisection implemented in unwind_find_origin() stopped to early.  If
      there is only a single entry left to check the original code just took
      the end point as origin which might be wrong.
      
      This was introduced in commit de66a979
      
       ("ARM: 7187/1: fix unwinding
      for XIP kernels").
      
      Reported-and-tested-by: default avatarNick Bowler <nbowler@elliptictech.com>
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ddf5a25c
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-fixes-3.2' of... · 42ebfc61
      Linus Torvalds authored
      Merge branch 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      * 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/swiotlb: Use page alignment for early buffer allocation.
        xen: only limit memory map to maximum reservation for domain 0.
      42ebfc61
    • Konrad Rzeszutek Wilk's avatar
      xen/swiotlb: Use page alignment for early buffer allocation. · 63a74175
      Konrad Rzeszutek Wilk authored
      This fixes an odd bug found on a Dell PowerEdge 1850/0RC130
      (BIOS A05 01/09/2006) where all of the modules doing pci_set_dma_mask
      would fail with:
      
      ata_piix 0000:00:1f.1: enabling device (0005 -> 0007)
      ata_piix 0000:00:1f.1: can't derive routing for PCI INT A
      ata_piix 0000:00:1f.1: BMDMA: failed to set dma mask, falling back to PIO
      
      The issue was the Xen-SWIOTLB was allocated such as that the end of
      buffer was stradling a page (and also above 4GB). The fix was
      spotted by Kalev Leonid  which was to piggyback on git commit
      e79f86b2
      
       "swiotlb: Use page alignment
      for early buffer allocation" which:
      
      	We could call free_bootmem_late() if swiotlb is not used, and
      	it will shrink to page alignment.
      
      	So alloc them with page alignment at first, to avoid lose two pages
      
      And doing that fixes the outstanding issue.
      
      CC: stable@kernel.org
      Suggested-by: default avatar"Kalev, Leonid" <Leonid.Kalev@ca.com>
      Reported-and-Tested-by: default avatar"Taylor, Neal E" <Neal.Taylor@ca.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      63a74175
    • Ian Campbell's avatar
      xen: only limit memory map to maximum reservation for domain 0. · d3db7281
      Ian Campbell authored
      d312ae87
      
       "xen: use maximum reservation to limit amount of usable RAM"
      clamped the total amount of RAM to the current maximum reservation. This is
      correct for dom0 but is not correct for guest domains. In order to boot a guest
      "pre-ballooned" (e.g. with memory=1G but maxmem=2G) in order to allow for
      future memory expansion the guest must derive max_pfn from the e820 provided by
      the toolstack and not the current maximum reservation (which can reflect only
      the current maximum, not the guest lifetime max). The existing algorithm
      already behaves this correctly if we do not artificially limit the maximum
      number of pages for the guest case.
      
      For a guest booted with maxmem=512, memory=128 this results in:
       [    0.000000] BIOS-provided physical RAM map:
       [    0.000000]  Xen: 0000000000000000 - 00000000000a0000 (usable)
       [    0.000000]  Xen: 00000000000a0000 - 0000000000100000 (reserved)
      -[    0.000000]  Xen: 0000000000100000 - 0000000008100000 (usable)
      -[    0.000000]  Xen: 0000000008100000 - 0000000020800000 (unusable)
      +[    0.000000]  Xen: 0000000000100000 - 0000000020800000 (usable)
      ...
       [    0.000000] NX (Execute Disable) protection: active
       [    0.000000] DMI not present or invalid.
       [    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
       [    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
      -[    0.000000] last_pfn = 0x8100 max_arch_pfn = 0x1000000
      +[    0.000000] last_pfn = 0x20800 max_arch_pfn = 0x1000000
       [    0.000000] initial memory mapped : 0 - 027ff000
       [    0.000000] Base memory trampoline at [c009f000] 9f000 size 4096
      -[    0.000000] init_memory_mapping: 0000000000000000-0000000008100000
      -[    0.000000]  0000000000 - 0008100000 page 4k
      -[    0.000000] kernel direct mapping tables up to 8100000 @ 27bb000-27ff000
      +[    0.000000] init_memory_mapping: 0000000000000000-0000000020800000
      +[    0.000000]  0000000000 - 0020800000 page 4k
      +[    0.000000] kernel direct mapping tables up to 20800000 @ 26f8000-27ff000
       [    0.000000] xen: setting RW the range 27e8000 - 27ff000
       [    0.000000] 0MB HIGHMEM available.
      -[    0.000000] 129MB LOWMEM available.
      -[    0.000000]   mapped low ram: 0 - 08100000
      -[    0.000000]   low ram: 0 - 08100000
      +[    0.000000] 520MB LOWMEM available.
      +[    0.000000]   mapped low ram: 0 - 20800000
      +[    0.000000]   low ram: 0 - 20800000
      
      With this change "xl mem-set <domain> 512M" will successfully increase the
      guest RAM (by reducing the balloon).
      
      There is no change for dom0.
      
      Reported-and-Tested-by: default avatarGeorge Shuklin <george.shuklin@gmail.com>
      Signed-off-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Cc: stable@kernel.org
      Reviewed-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      d3db7281
  2. Dec 15, 2011
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 55b02d2f
      Linus Torvalds authored
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/kms: add some new pci ids
      55b02d2f
    • Linus Torvalds's avatar
      Merge tag 'tytso-for-linus-20111214' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 2240a7bb
      Linus Torvalds authored
      * tag 'tytso-for-linus-20111214' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: handle EOF correctly in ext4_bio_write_page()
        ext4: remove a wrong BUG_ON in ext4_ext_convert_to_initialized
        ext4: correctly handle pages w/o buffers in ext4_discard_partial_buffers()
        ext4: avoid potential hang in mpage_submit_io() when blocksize < pagesize
        ext4: avoid hangs in ext4_da_should_update_i_disksize()
        ext4: display the correct mount option in /proc/mounts for [no]init_itable
        ext4: Fix crash due to getting bogus eh_depth value on big-endian systems
        ext4: fix ext4_end_io_dio() racing against fsync()
      
      .. using the new signed tag merge of git that now verifies the gpg
      signature automatically.  Yay.  The branchname was just 'dev', which is
      prettier.  I'll tell Ted to use nicer tag names for future cases.
      2240a7bb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 30aaca45
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: llseek fix race
        fuse: fix llseek bug
        fuse: fix fuse_retrieve
      30aaca45
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ddb36077
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs/ncpfs: fix error paths and goto statements in ncp_fill_super()
        configfs: register_filesystem() called too early
        fuse: register_filesystem() called too early
        ubifs: too early register_filesystem()
        ... and the same kind of leak for mqueue
        procfs: fix a vfsmount longterm reference leak
      ddb36077
  3. Dec 14, 2011
    • Alex Deucher's avatar
      drm/radeon/kms: add some new pci ids · cd5cfce8
      Alex Deucher authored
      
      
      Fixes:
      https://bugs.freedesktop.org/show_bug.cgi?id=43739
      
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      cd5cfce8
    • Djalal Harouni's avatar
      fs/ncpfs: fix error paths and goto statements in ncp_fill_super() · 759c361e
      Djalal Harouni authored
      
      
      The label 'out_bdi' should be followed by bdi_destroy() instead of
      fput() which should be after the 'out_fput' label.
      
      If bdi_setup_and_register() fails then jump to the 'out_fput' label
      instead of the 'out_bdi' one.
      
      If fget(data.info_fd) fails then jump to the previously fixed 'out_bdi'
      label to call bdi_destroy() otherwise the bdi object will not be
      destroyed.
      
      Compile tested only.
      
      Signed-off-by: default avatarDjalal Harouni <tixxdz@opendz.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      759c361e
    • Yongqiang Yang's avatar
      ext4: handle EOF correctly in ext4_bio_write_page() · 5a0dc736
      Yongqiang Yang authored
      
      
      We need to zero out part of a page which beyond EOF before setting uptodate,
      otherwise, mapread or write will see non-zero data beyond EOF.
      
      Signed-off-by: default avatarYongqiang Yang <xiaoqiangnk@gmail.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      5a0dc736
    • Yongqiang Yang's avatar
      ext4: remove a wrong BUG_ON in ext4_ext_convert_to_initialized · 5b5ffa49
      Yongqiang Yang authored
      
      
      If a file is fallocated on a hole, map->m_lblk + map->m_len may be greater
      than ee_block + ee_len.
      
      Signed-off-by: default avatarYongqiang Yang <xiaoqiangnk@gmail.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      5b5ffa49
    • Yongqiang Yang's avatar
      ext4: correctly handle pages w/o buffers in ext4_discard_partial_buffers() · 093e6e36
      Yongqiang Yang authored
      
      
      If a page has been read into memory and never been written, it has no
      buffers, but we should handle the page in truncate or punch hole.
      
      VFS code of writing operations has handled holes correctly, so this
      patch removes the code handling holes in writing operations.
      
      Signed-off-by: default avatarYongqiang Yang <xiaoqiangnk@gmail.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      093e6e36
    • Yongqiang Yang's avatar
      ext4: avoid potential hang in mpage_submit_io() when blocksize < pagesize · 13a79a47
      Yongqiang Yang authored
      
      
      If there is an unwritten but clean buffer in a page and there is a
      dirty buffer after the buffer, then mpage_submit_io does not write the
      dirty buffer out.  As a result, da_writepages loops forever.
      
      This patch fixes the problem by checking dirty flag.
      
      Signed-off-by: default avatarYongqiang Yang <xiaoqiangnk@gmail.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      13a79a47
    • Andrea Arcangeli's avatar
      ext4: avoid hangs in ext4_da_should_update_i_disksize() · ea51d132
      Andrea Arcangeli authored
      
      
      If the pte mapping in generic_perform_write() is unmapped between
      iov_iter_fault_in_readable() and iov_iter_copy_from_user_atomic(), the
      "copied" parameter to ->end_write can be zero. ext4 couldn't cope with
      it with delayed allocations enabled. This skips the i_disksize
      enlargement logic if copied is zero and no new data was appeneded to
      the inode.
      
       gdb> bt
       #0  0xffffffff811afe80 in ext4_da_should_update_i_disksize (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x1\
       08000, len=0x1000, copied=0x0, page=0xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2467
       #1  ext4_da_write_end (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x108000, len=0x1000, copied=0x0, page=0\
       xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2512
       #2  0xffffffff810d97f1 in generic_perform_write (iocb=<value optimized out>, iov=<value optimized out>, nr_segs=<value o\
       ptimized out>, pos=0x108000, ppos=0xffff88001e26be40, count=<value optimized out>, written=0x0) at mm/filemap.c:2440
       #3  generic_file_buffered_write (iocb=<value optimized out>, iov=<value optimized out>, nr_segs=<value optimized out>, p\
       os=0x108000, ppos=0xffff88001e26be40, count=<value optimized out>, written=0x0) at mm/filemap.c:2482
       #4  0xffffffff810db5d1 in __generic_file_aio_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=0x1, ppos=0\
       xffff88001e26be40) at mm/filemap.c:2600
       #5  0xffffffff810db853 in generic_file_aio_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=<value optimi\
       zed out>, pos=<value optimized out>) at mm/filemap.c:2632
       #6  0xffffffff811a71aa in ext4_file_write (iocb=0xffff88001e26bde8, iov=0xffff88001e26bec8, nr_segs=0x1, pos=0x108000) a\
       t fs/ext4/file.c:136
       #7  0xffffffff811375aa in do_sync_write (filp=0xffff88003f606a80, buf=<value optimized out>, len=<value optimized out>, \
       ppos=0xffff88001e26bf48) at fs/read_write.c:406
       #8  0xffffffff81137e56 in vfs_write (file=0xffff88003f606a80, buf=0x1ec2960 <Address 0x1ec2960 out of bounds>, count=0x4\
       000, pos=0xffff88001e26bf48) at fs/read_write.c:435
       #9  0xffffffff8113816c in sys_write (fd=<value optimized out>, buf=0x1ec2960 <Address 0x1ec2960 out of bounds>, count=0x\
       4000) at fs/read_write.c:487
       #10 <signal handler called>
       #11 0x00007f120077a390 in __brk_reservation_fn_dmi_alloc__ ()
       #12 0x0000000000000000 in ?? ()
       gdb> print offset
       $22 = 0xffffffffffffffff
       gdb> print idx
       $23 = 0xffffffff
       gdb> print inode->i_blkbits
       $24 = 0xc
       gdb> up
       #1  ext4_da_write_end (file=0xffff88003f606a80, mapping=0xffff88001d3824e0, pos=0x108000, len=0x1000, copied=0x0, page=0\
       xffffea0000d792e8, fsdata=0x0) at fs/ext4/inode.c:2512
       2512                    if (ext4_da_should_update_i_disksize(page, end)) {
       gdb> print start
       $25 = 0x0
       gdb> print end
       $26 = 0xffffffffffffffff
       gdb> print pos
       $27 = 0x108000
       gdb> print new_i_size
       $28 = 0x108000
       gdb> print ((struct ext4_inode_info *)((char *)inode-((int)(&((struct ext4_inode_info *)0)->vfs_inode))))->i_disksize
       $29 = 0xd9000
       gdb> down
       2467            for (i = 0; i < idx; i++)
       gdb> print i
       $30 = 0xd44acbee
      
      This is 100% reproducible with some autonuma development code tuned in
      a very aggressive manner (not normal way even for knumad) which does
      "exotic" changes to the ptes. It wouldn't normally trigger but I don't
      see why it can't happen normally if the page is added to swap cache in
      between the two faults leading to "copied" being zero (which then
      hangs in ext4). So it should be fixed. Especially possible with lumpy
      reclaim (albeit disabled if compaction is enabled) as that would
      ignore the young bits in the ptes.
      
      Signed-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      ea51d132
    • Larry Finger's avatar
      staging: r8712u: Add new USB ID · c7caf4d4
      Larry Finger authored
      
      
      Add USB ID for Sitecom WLA-2000 v1.001 WLAN.
      
      Reported-and-tested-by: default avatarRoland Gruber <post@rolandgruber.de>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c7caf4d4
    • Omar Ramirez Luna's avatar
      staging: tidspbridge: request dmtimer clocks on init · ed625b91
      Omar Ramirez Luna authored
      
      
      Given that dm timer framework doesn't support request of clocks
      by soft | hard irqs because some recent changes, tidspbridge needs
      to request its clocks on init and enable/disable them on demand.
      
      This was first seen on 3.2-rc1.
      
      Signed-off-by: default avatarOmar Ramirez Luna <omar.ramirez@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      ed625b91
    • Omar Ramirez Luna's avatar
      staging: tidspbridge: include module.h by default · 0a7e22e6
      Omar Ramirez Luna authored
      
      
      Fixes compilation break when compiled as part of the kernel:
      
      drivers/staging/tidspbridge/rmgr/drv_interface.c:134: error: expected declaration specifiers or '...' before string constant
      drivers/staging/tidspbridge/rmgr/drv_interface.c:134: warning: data definition has no type or storage class
      drivers/staging/tidspbridge/rmgr/drv_interface.c:134: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR'
      drivers/staging/tidspbridge/rmgr/drv_interface.c:134: warning: function declaration isn't a prototype
      drivers/staging/tidspbridge/rmgr/drv_interface.c:135: error: expected declaration specifiers or '...' before string constant
      drivers/staging/tidspbridge/rmgr/drv_interface.c:135: warning: data definition has no type or storage class
      drivers/staging/tidspbridge/rmgr/drv_interface.c:135: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
      drivers/staging/tidspbridge/rmgr/drv_interface.c:135: warning: function declaration isn't a prototype
      drivers/staging/tidspbridge/rmgr/drv_interface.c:136: error: expected declaration specifiers or '...' before string constant
      drivers/staging/tidspbridge/rmgr/drv_interface.c:136: warning: data definition has no type or storage class
      drivers/staging/tidspbridge/rmgr/drv_interface.c:136: warning: type defaults to 'int' in declaration of 'MODULE_VERSION'
      drivers/staging/tidspbridge/rmgr/drv_interface.c:136: warning: function declaration isn't a prototype
      drivers/staging/tidspbridge/rmgr/drv_interface.c: In function 'omap34_xx_bridge_probe':
      drivers/staging/tidspbridge/rmgr/drv_interface.c:359: error: 'THIS_MODULE' undeclared (first use in this function)
      drivers/staging/tidspbridge/rmgr/drv_interface.c:359: error: (Each undeclared identifier is reported only once
      drivers/staging/tidspbridge/rmgr/drv_interface.c:359: error: for each function it appears in.)
      
      Signed-off-by: default avatarOmar Ramirez Luna <omar.ramirez@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0a7e22e6
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 373da0a2
      Linus Torvalds authored
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "x86, efi: Calling __pa() with an ioremap()ed address is invalid"
        x86, efi: Make efi_call_phys_{prelog,epilog} CONFIG_RELOCATABLE-aware
      373da0a2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 653f42f6
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        ceph: add missing spin_unlock at ceph_mdsc_build_path()
        ceph: fix SEEK_CUR, SEEK_SET regression
        crush: fix mapping calculation when force argument doesn't exist
        ceph: use i_ceph_lock instead of i_lock
        rbd: remove buggy rollback functionality
        rbd: return an error when an invalid header is read
        ceph: fix rasize reporting by ceph_show_options
      653f42f6
    • Linus Torvalds's avatar
      Merge branch 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux · 4dde6ded
      Linus Torvalds authored
      * 'writeback-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
        writeback: set max_pause to lowest value on zero bdi_dirty
        writeback: permit through good bdi even when global dirty exceeded
        writeback: comment on the bdi dirty threshold
        fs: Make write(2) interruptible by a fatal signal
        writeback: Fix issue on make htmldocs
      4dde6ded
    • Yehuda Sadeh's avatar
      ceph: add missing spin_unlock at ceph_mdsc_build_path() · 9d5a09e6
      Yehuda Sadeh authored
      
      
      one of the paths was missing spin_unlock
      
      Signed-off-by: default avatarYehuda Sadeh <yehuda@hq.newdream.net>
      9d5a09e6
    • Bjørn Mork's avatar
      USB: option: Removing one bogus and adding some new Huawei combinations · 02a551c9
      Bjørn Mork authored
      
      
      Huawei use the product code HUAWEI_PRODUCT_E353 (0x1506) for a
      number of different devices, which each can appear with a number
      of different descriptor sets.  Different types of interfaces
      can be identified by looking at the subclass and protocol fields
      
      Subclass 1 protocol 8 is actually the data interface of a CDC
      ECM set, with subclass 1 protocol 9 as the control interface.
      Neither support serial data communcation, and cannot therefore
      be supported by this driver.
      
      At the same time, add a few other sets which appear if the
      device is configured in "Windows mode" using this modeswitch
      message:
      55534243000000000000000000000011060000000100000000000000000000
      
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      02a551c9
    • Al Viro's avatar
      7c6455e3
    • Al Viro's avatar
      fuse: register_filesystem() called too early · 988f0325
      Al Viro authored
      
      
      same story as with ubifs
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      988f0325
    • Al Viro's avatar
      ubifs: too early register_filesystem() · 5cc361e3
      Al Viro authored
      
      
      doing that before you are ready to handle mount() is a Bad Idea(tm)...
      
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      5cc361e3
    • Linus Torvalds's avatar
      Merge branch 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm · 442ee5a9
      Linus Torvalds authored
      * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
        ARM: 7204/1: arch/arm/kernel/setup.c: initialize arm_dma_zone_size earlier
        ARM: 7185/1: perf: don't assign platform_device on unsupported CPUs
        ARM: 7187/1: fix unwinding for XIP kernels
        ARM: 7186/1: fix Kconfig issue with PHYS_OFFSET and !MMU
      442ee5a9
    • Sage Weil's avatar
      ceph: fix SEEK_CUR, SEEK_SET regression · 6a82c47a
      Sage Weil authored
      Commit 06222e49
      
       got the if wrong so that
      it always evaluates as true.  This is semantically harmless, but makes
      SEEK_CUR and SEEK_SET needlessly query the server.
      
      Rewrite the if to explicitly enumerate the cases we DO need a valid i_size
      to make this code less fragile.
      
      Reported-by: default avatarRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      6a82c47a
  4. Dec 13, 2011
    • Yinghai Lu's avatar
      ibft: Fix finding IBFT ACPI table on UEFI · 935a9fee
      Yinghai Lu authored
      
      
      Found one system with UEFI/iBFT, kernel does not detect the iBFT during
      iscsi_ibft module loading.
      
      Root cause: on x86 (UEFI), we are calling of find_ibft_region() much earlier
      - specifically in setup_arch() before ACPI is enabled.
      
      Try to split acpi checking code out and call that later
      
      At that time ACPI iBFT already get permanent mapped with ioremap.
      So isa_virt_to_bus() will get wrong phys from right virt address.
      We could just skip that phys address printing.
      
      For legacy one, print the found address early.
      
      -v2: update comments and description according to Konrad.
      -v3: fix problem about module use case that is found by Konrad.
      -v4: use acpi_get_table() instead of acpi_table_parse() to handle module use case that is found by Konrad again..
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad@kernel.org>
      935a9fee
    • Miklos Szeredi's avatar
      fuse: llseek fix race · 73104b6e
      Miklos Szeredi authored
      Fix race between lseek(fd, 0, SEEK_CUR) and read/write.  This was fixed in
      generic code by commit 5b6f1eb9
      
       (vfs: lseek(fd, 0, SEEK_CUR) race condition).
      
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      73104b6e
    • Roel Kluin's avatar
      fuse: fix llseek bug · b48c6af2
      Roel Kluin authored
      The test in fuse_file_llseek() "not SEEK_CUR or not SEEK_SET" always evaluates
      to true.
      
      This was introduced in 3.1 by commit 06222e49
      
       (fs: handle SEEK_HOLE/SEEK_DATA
      properly in all fs's that define their own llseek) and changed the behavior of
      SEEK_CUR and SEEK_SET to always retrieve the file attributes.  This is a
      performance regression.
      
      Fix the test so that it makes sense.
      
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@vger.kernel.org
      CC: Josef Bacik <josef@redhat.com>
      CC: Al Viro <viro@zeniv.linux.org.uk>
      b48c6af2
    • Miklos Szeredi's avatar
      fuse: fix fuse_retrieve · 48706d0a
      Miklos Szeredi authored
      
      
      Fix two bugs in fuse_retrieve():
      
       - retrieving more than one page would yield repeated instances of the
         first page
      
       - if more than FUSE_MAX_PAGES_PER_REQ pages were requested than the
         request page array would overflow
      
      fuse_retrieve() was added in 2.6.36 and these bugs had been there since the
      beginning.
      
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      CC: stable@vger.kernel.org
      48706d0a
    • Linus Torvalds's avatar
      linux/log2.h: Fix rounddown_pow_of_two(1) · 13c07b02
      Linus Torvalds authored
      Exactly like roundup_pow_of_two(1), the rounddown version was buggy for
      the case of a compile-time constant '1' argument.  Probably because it
      originated from the same code, sharing history with the roundup version
      from before the bugfix (for that one, see commit 1a06a52e
      
      : "Fix
      roundup_pow_of_two(1)").
      
      However, unlike the roundup version, the fix for rounddown is to just
      remove the broken special case entirely.  It's simply not needed - the
      generic code
      
          1UL << ilog2(n)
      
      does the right thing for the constant '1' argment too.  The only reason
      roundup needed that special case was because rounding up does so by
      subtracting one from the argument (and then adding one to the result)
      causing the obvious problems with "ilog2(0)".
      
      But rounddown doesn't do any of that, since ilog2() naturally truncates
      (ie "rounds down") to the right rounded down value.  And without the
      ilog2(0) case, there's no reason for the special case that had the wrong
      value.
      
      tl;dr: rounddown_pow_of_two(1) should be 1, not 0.
      
      Acked-by: default avatarDmitry Torokhov <dtor@vmware.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13c07b02
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of... · 12870da5
      Linus Torvalds authored
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (jz4740) Staticise jz4740_hwmon_driver
        hwmon: (jz4740) fix signedness bug
      12870da5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 71fe5cca
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
        mmc: core: Fix deadlock when the CONFIG_MMC_UNSAFE_RESUME is not defined
        mmc: sdhci-s3c: Remove old and misprototyped suspend operations
        mmc: tmio: fix clock gating on platforms with a .set_pwr() method
        mmc: sh_mmcif: fix clock gating on platforms with a .down_pwr() method
        mmc: core: Fix typo at mmc_card_sleep
        mmc: core: Fix power_off_notify during suspend
        mmc: core: Fix setting power notify state variable for non-eMMC
        mmc: core: Add quirk for long data read time
        mmc: Add module.h include to sdhci-cns3xxx.c
        mmc: mxcmmc: fix falling back to PIO
        mmc: omap_hsmmc: DMA unmap only once in case of MMC error
      71fe5cca
    • Theodore Ts'o's avatar
      ext4: display the correct mount option in /proc/mounts for [no]init_itable · fc6cb1cd
      Theodore Ts'o authored
      
      
      /proc/mounts was showing the mount option [no]init_inode_table when
      the correct mount option that will be accepted by parse_options() is
      [no]init_itable.
      
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@kernel.org
      fc6cb1cd
    • Krzysztof Hałasa's avatar
      USB: cdc-acm: add IDs for Motorola H24 HSPA USB module. · 6abff5dc
      Krzysztof Hałasa authored
      
      
      Add USB IDs for Motorola H24 HSPA USB module.
      
      Signed-off-by: default avatarKrzysztof Hałasa <khalasa@piap.pl>
      Acked-by: default avatarOliver Neukum <oneukum@suse.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6abff5dc