13 Mar, 2012

40 commits

  • Greg Kroah-Hartman
     
  • commit 97e43c983c721a47546e6db3b7711dcd912a6481 upstream.

    Silence following warnings:
    WARNING: drivers/mfd/cs5535-mfd.o(.data+0x20): Section mismatch in
    reference from the variable cs5535_mfd_drv to the function
    .devinit.text:cs5535_mfd_probe()
    The variable cs5535_mfd_drv references
    the function __devinit cs5535_mfd_probe()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

    WARNING: drivers/mfd/cs5535-mfd.o(.data+0x28): Section mismatch in
    reference from the variable cs5535_mfd_drv to the function
    .devexit.text:cs5535_mfd_remove()
    The variable cs5535_mfd_drv references
    the function __devexit cs5535_mfd_remove()
    If the reference is valid then annotate the
    variable with __exit* (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

    Rename the variable from *_drv to *_driver so
    modpost ignore the OK references to __devinit/__devexit
    functions.

    Signed-off-by: Christian Gmeiner
    Acked-by: Andres Salomon
    Signed-off-by: Samuel Ortiz
    Signed-off-by: Greg Kroah-Hartman

    Christian Gmeiner
     
  • commit 474de3bbadd9cb75ffc32cc759c40d868343d46c upstream.

    Fix scan_timers() to be __devinit and not __init since
    the function get called from cs5535_mfgpt_probe which is
    __devinit.

    Signed-off-by: Danny Kukawka
    Signed-off-by: Greg Kroah-Hartman

    Danny Kukawka
     
  • commit 0ca93de9b789e0eb05e103f0c04de72df13da73a upstream.

    Fix dm-raid flush support.

    Both md and dm have support for flush, but the dm-raid target
    forgot to set the flag to indicate that flushes should be
    passed on. (Important for data integrity e.g. with writeback cache
    enabled.)

    Signed-off-by: Jonathan Brassow
    Acked-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Greg Kroah-Hartman

    Jonathan E Brassow
     
  • commit 0c535e0d6f463365c29623350dbd91642363c39b upstream.

    This patch fixes a crash by recognising discards in dm_io.

    Currently dm_mirror can send REQ_DISCARD bios if running over a
    discard-enabled device and without support in dm_io the system
    crashes badly.

    BUG: unable to handle kernel paging request at 00800000
    IP: __bio_add_page.part.17+0xf5/0x1e0
    ...
    bio_add_page+0x56/0x70
    dispatch_io+0x1cf/0x240 [dm_mod]
    ? km_get_page+0x50/0x50 [dm_mod]
    ? vm_next_page+0x20/0x20 [dm_mod]
    ? mirror_flush+0x130/0x130 [dm_mirror]
    dm_io+0xdc/0x2b0 [dm_mod]
    ...

    Introduced in 2.6.38-rc1 by commit 5fc2ffeabb9ee0fc0e71ff16b49f34f0ed3d05b4
    (dm raid1: support discard).

    Signed-off-by: Milan Broz
    Acked-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Greg Kroah-Hartman

    Milan Broz
     
  • commit 4231d47e6fe69f061f96c98c30eaf9fb4c14b96d upstream.

    |kernel BUG at kernel/rtmutex.c:724!
    |[] (rt_spin_lock_slowlock+0x108/0x2bc) from [] (defer_bh+0x1c/0xb4)
    |[] (defer_bh+0x1c/0xb4) from [] (rx_complete+0x14c/0x194)
    |[] (rx_complete+0x14c/0x194) from [] (usb_hcd_giveback_urb+0xa0/0xf0)
    |[] (usb_hcd_giveback_urb+0xa0/0xf0) from [] (musb_giveback+0x34/0x40)
    |[] (musb_giveback+0x34/0x40) from [] (musb_advance_schedule+0xb4/0x1c0)
    |[] (musb_advance_schedule+0xb4/0x1c0) from [] (musb_cleanup_urb.isra.9+0x80/0x8c)
    |[] (musb_cleanup_urb.isra.9+0x80/0x8c) from [] (musb_urb_dequeue+0xec/0x108)
    |[] (musb_urb_dequeue+0xec/0x108) from [] (unlink1+0xbc/0xcc)
    |[] (unlink1+0xbc/0xcc) from [] (usb_hcd_unlink_urb+0x54/0xa8)
    |[] (usb_hcd_unlink_urb+0x54/0xa8) from [] (unlink_urbs.isra.17+0x2c/0x58)
    |[] (unlink_urbs.isra.17+0x2c/0x58) from [] (usbnet_terminate_urbs+0x94/0x10c)
    |[] (usbnet_terminate_urbs+0x94/0x10c) from [] (usbnet_stop+0x100/0x15c)
    |[] (usbnet_stop+0x100/0x15c) from [] (__dev_close_many+0x94/0xc8)

    defer_bh() takes the lock which is hold during unlink_urbs(). The safe
    walk suggest that the skb will be removed from the list and this is done
    by defer_bh() so it seems to be okay to drop the lock here.

    Reported-by: Aníbal Almeida Pinto
    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Oliver Neukum
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Siewior
     
  • commit cf00790dea6f210ddd01a6656da58c7c9a4ea0e4 upstream.

    Mesa may set it to 1, causing all primitives to be killed.

    v2: also update the r7xx code

    Signed-off-by: Marek Olšák
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie
    Signed-off-by: Greg Kroah-Hartman

    Marek Olšák
     
  • commit 992d52529d7840236d3059b51c15d5eb9e81a869 upstream.

    On Access Point mode, when transmitting a packet, if the destination
    station is in powersave mode, we abort transmitting the packet to the
    device queue, but we do not reclaim the allocated memory. Given enough
    packets, we can go in a state where there is no packet on the device
    queue, but we think the device has no memory left, so no packet gets
    transmitted, connections breaks and the AP stops working.

    This undo the allocation done in the TX path when the station is in
    power-save mode.

    Signed-off-by: Nicolas Cavallari
    Acked-by: Christian Lamparter
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    Nicolas Cavallari
     
  • commit 1bd612a25855f4cc9345052b53d7da697dba6358 upstream.

    Also update IDT datasheet locations.

    Signed-off-by: Guenter Roeck
    Acked-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • commit 4de86126a712ba83fa038d277c8282f7ed466a4b upstream.

    These are fully compatible with Jedec JC 42.4 as far as I can see.

    Signed-off-by: Jean Delvare
    Cc: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • commit 7cb3c44fb1f7999e4c53b6a52de6bc25da6de079 upstream.

    There are up to three POUT alarm attributes, not two, since cap_alarm was added.

    Reported-by: Michele Petracca
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • commit 99c90ab31fad855b9da9dee3a5aa6c27f263e9d6 upstream.

    ALPS touchpad detection fails if some buttons of ALPS are pressed.
    The reason is that the "E6" query response byte is different from
    what is expected.

    This was tested on a Toshiba Portege R500.

    Signed-off-by: Akio Idehara
    Tested-by: Seth Forshee
    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Akio Idehara
     
  • commit affc9a0d59ac49bd304e2137bd5e4ffdd6fdfa52 upstream.

    lirc_serial_probe() must fail if request_irq() returns an error, even if
    it isn't EBUSY or EINVAL,

    Signed-off-by: Ben Hutchings
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Nieder
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     
  • commit 1ff1d88e862948ae5bfe490248c023ff8ac2855d upstream.

    A resume function cannot remove the device it is resuming!

    Signed-off-by: Ben Hutchings
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Nieder
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     
  • commit c8e57e1b766c2321aa76ee5e6878c69bd2313d62 upstream.

    Failure to allocate the I/O region leaves the IRQ allocated.
    A later failure leaves them both allocated.

    Reported-by: Torsten Crass
    Signed-off-by: Ben Hutchings
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Nieder
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     
  • commit 9105b8b200410383d0854bbe237ee385d7d33ba6 upstream.

    Currently the module init function registers a platform_device and
    only then allocates its IRQ and I/O region. This allows allocation to
    race with the device's suspend() function. Instead, allocate
    resources in the platform driver's probe() function and free them in
    the remove() function.

    The module exit function removes the platform device before the
    character device that provides access to it. Change it to reverse the
    order of initialisation.

    Signed-off-by: Ben Hutchings
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Nieder
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     
  • commit efbc74ace95338484f8d732037b99c7c77098fce upstream.

    Erratum #743622 affects all r2 variants of the Cortex-A9 processor, so
    ensure that the workaround is applied regardless of the revision.

    Reported-by: Russell King
    Signed-off-by: Will Deacon
    Signed-off-by: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Will Deacon
     
  • commit c49d005b6cc8491fad5b24f82805be2d6bcbd3dd upstream.

    A hardware bug in the OMAP4 HDMI PHY causes physical damage to the board
    if the HDMI PHY is kept powered on when the cable is not connected.

    This patch solves the problem by adding hot-plug-detection into the HDMI
    IP driver. This is not a real HPD support in the sense that nobody else
    than the IP driver gets to know about the HPD events, but is only meant
    to fix the HW bug.

    The strategy is simple: If the display device is turned off by the user,
    the PHY power is set to OFF. When the display device is turned on by the
    user, the PHY power is set either to LDOON or TXON, depending on whether
    the HDMI cable is connected.

    The reason to avoid PHY OFF when the display device is on, but the cable
    is disconnected, is that when the PHY is turned OFF, the HDMI IP is not
    "ticking" and thus the DISPC does not receive pixel clock from the HDMI
    IP. This would, for example, prevent any VSYNCs from happening, and
    would thus affect the users of omapdss. By using LDOON when the cable is
    disconnected we'll avoid the HW bug, but keep the HDMI working as usual
    from the user's point of view.

    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit aa74274b464d4aa24703963ac89a0ee942d5d267 upstream.

    Both Panda and 4430SDP use GPIO 63 as HDMI hot-plug-detect. Configure
    this GPIO in the board files.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit 78a1ad8f12db70b8b0a4548b90704de08ee216ce upstream.

    The HDMI GPIO pins LS_OE and CT_CP_HPD are not currently configured.
    This patch configures them as output pins.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit 7bb122d155f742fe2d79849090c825be7b4a247e upstream.

    "hdmi_hpd" pin is muxed to INPUT and PULLUP, but the pin is not
    currently used, and in the future when it is used, the pin is used as a
    GPIO and is board specific, not an OMAP4 wide thing.

    So remove the muxing for now.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit 3932a32fcf5393f8be70ac99dc718ad7ad0a415b upstream.

    The GPIO 60 on 4430sdp and Panda is not HPD GPIO, as currently marked in
    the board files, but CT_CP_HPD, which is used to enable/disable HPD
    functionality.

    This patch renames the GPIO.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit 575753e3bea3b67eef8e454fb87f719e3f7da599 upstream.

    Instead of freeing the GPIOs individually, use gpio_free_array().

    Signed-off-by: Tomi Valkeinen
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit 8d88767a4377171752c22ac39bcb2b505eb751da upstream.

    Use default regn and regm2 dividers in the hdmi driver if the board file
    does not define them.

    Cc: Mythri P K
    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen
    Signed-off-by: Greg Kroah-Hartman

    Tomi Valkeinen
     
  • commit b06540371063f0f07aafc1d1ac5e974da85c973c upstream.

    Patchset "ARM: orion: Refactor the MPP code common in the orion
    platform" broke at least Orion5x based platforms. These platforms have
    pins configured as GPIO when the selector is not 0x0. However the
    common code assumes the selector is always 0x0 for a GPIO lines. It
    then ignores the GPIO bits in the MPP definitions, resulting in that
    Orion5x machines cannot correctly configure there GPIO lines.

    The Fix removes the assumption that the selector is always 0x0.
    In order that none GPIO configurations are correctly blocked,
    Kirkwood and mv78xx0 MPP definitions are corrected to only set the
    GPIO bits for GPIO configurations.

    This third version, which does not contain any whitespace changes,
    and is rebased on v3.3-rc2.

    Signed-off-by: Andrew Lunn
    Acked-by: Nicolas Pitre
    Signed-off-by: Olof Johansson

    Andrew Lunn
     
  • commit 72053353583230952c4b187e110e9da00dfc3afb upstream.

    The patch "ARM: orion: Consolidate USB platform setup code.", commit
    4fcd3f374a928081d391cd9a570afe3b2c692fdc broke USB on TS-7800 and
    other orion5x boards, because the wrong type of PHY was being passed
    to the EHCI driver in the platform data. Orion5x needs EHCI_PHY_ORION
    and all the others want EHCI_PHY_NA.

    Allow the mach- code to tell the generic plat-orion code which USB PHY
    enum to place into the platform data.

    Version 2: Rebase to v3.3-rc2.

    Reported-by: Ambroz Bizjak
    Signed-off-by: Andrew Lunn
    Tested-by: Ambroz Bizjak
    Acked-by: Nicolas Pitre
    Signed-off-by: Olof Johansson
    Signed-off-by: Greg Kroah-Hartman

    Andrew Lunn
     
  • commit d71de14ddf423ccc9a2e3f7e37553c99ead20d7c upstream.

    The BSpec Workarounds page states that bits 10 and 26 must be set to
    avoid 3D ring hangs.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44610
    Tested-by: Eugeni Dodonov
    Signed-off-by: Kenneth Graunke
    Signed-off-by: Jesse Barnes
    Signed-off-by: Greg Kroah-Hartman

    Kenneth Graunke
     
  • commit db099c8f963fe656108e0a068274c5580a17f69b upstream.

    This adds the workaround for WaCatErrorRejectionIssue which could result
    in a system hang.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44610
    Tested-by: Eugeni Dodonov
    Reviewed-by: Kenneth Graunke
    Signed-off-by: Eugeni Dodonov
    Signed-off-by: Jesse Barnes
    Signed-off-by: Greg Kroah-Hartman

    Eugeni Dodonov
     
  • commit e4e0c058a19c41150d12ad2d3023b3cf09c5de67 upstream.

    This adds two cache-related workarounds for Ivy Bridge which can lead to
    3D ring hangs and corruptions.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44610
    Tested-by: Eugeni Dodonov
    Signed-off-by: Eugeni Dodonov
    Signed-off-by: Kenneth Graunke
    Signed-off-by: Jesse Barnes
    Signed-off-by: Greg Kroah-Hartman

    Eugeni Dodonov
     
  • commit eae66b50c760233fad526edf4a0d327be17a055d upstream.

    This is yet another workaround related to clock gating which we need on
    Ivy Bridge.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44610
    Tested-by: Eugeni Dodonov
    Signed-off-by: Eugeni Dodonov
    Signed-off-by: Kenneth Graunke
    Signed-off-by: Jesse Barnes
    Signed-off-by: Greg Kroah-Hartman

    Eugeni Dodonov
     
  • 3.0.21's 603b63484725a6e88e4ae5da58716efd88154b1e directly used
    the upstream patch, yet kprobes locking in 3.0.x uses spin_lock...()
    rather than raw_spin_lock...().

    Signed-off-by: Jan Beulich
    Signed-off-by: Greg Kroah-Hartman

    Jan Beulich
     
  • commit 31e0017e6f6fb5cfdfaf932c1f98c9bef8d57688 upstream.

    Enable use of the generic atomic64 implementation on AVR32 platforms.
    Without this the kernel fails to build as the architecture does not
    provide its version.

    Signed-off-by: Fabio Baltieri
    Acked-by: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Cc: Jean-Christophe PLAGNIOL-VILLARD
    Signed-off-by: Greg Kroah-Hartman

    Fabio Baltieri
     
  • commit 5a50a7c32d630d6cdb13d69afabb0cc81b2f379c upstream.

    The models do not resume correctly without acpi_sleep=nonvs.

    Signed-off-by: Keng-Yu Lin
    Signed-off-by: Rafael J. Wysocki
    Cc: Tim Gardner
    Signed-off-by: Greg Kroah-Hartman

    Keng-Yu Lin
     
  • commit 37b40adf2d1b4a5e51323be73ccf8ddcf3f15dd3 upstream.

    We create "bsg" link if q->kobj.sd is not NULL, so remove it only
    when the same condition is true.

    Fixes:

    WARNING: at fs/sysfs/inode.c:323 sysfs_hash_and_remove+0x2b/0x77()
    sysfs: can not remove 'bsg', no directory
    Call Trace:
    [] warn_slowpath_common+0x6a/0x7f
    [] ? sysfs_hash_and_remove+0x2b/0x77
    [] warn_slowpath_fmt+0x2b/0x2f
    [] sysfs_hash_and_remove+0x2b/0x77
    [] sysfs_remove_link+0x20/0x23
    [] bsg_unregister_queue+0x40/0x6d
    [] __scsi_remove_device+0x31/0x9d
    [] scsi_forget_host+0x41/0x52
    [] scsi_remove_host+0x71/0xe0
    [] quiesce_and_remove_host+0x51/0x83 [usb_storage]
    [] usb_stor_disconnect+0x18/0x22 [usb_storage]
    [] usb_unbind_interface+0x4e/0x109
    [] __device_release_driver+0x6b/0xa6
    [] device_release_driver+0x17/0x22
    [] bus_remove_device+0xd6/0xe6
    [] device_del+0xf2/0x137
    [] usb_disable_device+0x94/0x1a0

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: Jens Axboe
    Signed-off-by: Tim Gardner
    Signed-off-by: Greg Kroah-Hartman

    Stanislaw Gruszka
     
  • commit 5ed80a75b248bfaf840ea6b38f941edcf6ee7dc7 upstream.

    According to i.MX27 Reference Manual (p 1593) TXBIT0 bit selects
    whether the most significant or the less significant part of the
    data word written to the FIFO is transmitted.

    As DSP_A is the same as DSP_B with a data offset of 1 bit, it
    doesn't make any sense to remove TXBIT0 bit here.

    Signed-off-by: Javier Martin
    Acked-by: Sascha Hauer
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Javier Martin
     
  • commit 7679e42ec833ed70aa34790a5f39dcb7e5bda4fe upstream.

    Recent enhancements in the bias management means that we might not be
    in standby when the CODEC is idle and can have active widgets without
    being in full power mode but the shutdown functionality assumes these
    things. Add checks for the bias level at each stage so that we don't
    do transitions other than the ON->PREPARE->STANDBY->OFF ones that the
    drivers are expecting.

    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     
  • commit 41f8ad76362e7aefe3a03949c43e23102dae6e0b upstream.

    It used to be that minors where 8 bit. But now they
    are actually 20 bit. So the fix is simplicity itself.

    I've tested with 300 devices and all user-mode utils
    work just fine. I have also mechanically added 10,000
    to the ida (so devices are /dev/osd10000, /dev/osd10001 ...)
    and was able to mkfs an exofs filesystem and access osds
    from user-mode.

    All the open-osd user-mode code uses the same library
    to access devices through their symbolic names in
    /dev/osdX so I'd say it's pretty safe. (Well tested)

    This patch is very important because some of the systems
    that will be deploying the 3.2 pnfs-objects code are larger
    than 64 OSDs and will stop to work properly when reaching
    that number.

    Signed-off-by: Boaz Harrosh
    Signed-off-by: James Bottomley
    Signed-off-by: Greg Kroah-Hartman

    Boaz Harrosh
     
  • commit f8f54e190ddb4ed697036b60f5e2ae6dd45b801c upstream.

    Broken by commit 6ef84509f3d439ed2d43ea40080643efec37f54f for users
    passing a request with non-zero 'nbytes' field, like e.g. testmgr.

    Signed-off-by: Phil Sutter
    Signed-off-by: Herbert Xu
    Signed-off-by: Greg Kroah-Hartman

    Phil Sutter
     
  • commit 37891abc8464637964a26ae4b61d307fef831f80 upstream.

    This patch (as1531) adds a NOGET quirk for the Slim+ keyboard marketed
    by AIREN. This keyboard seems to have a lot of bugs; NOGET works
    around only one of them.

    Signed-off-by: Alan Stern
    Reported-by: okias
    Signed-off-by: Jiri Kosina
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • commit 1c641e84719429bbfe62a95ed3545ee7fe24408f upstream.

    Dave Jones reports a few Fedora users hitting the BUG_ON(mm->nr_ptes...)
    in exit_mmap() recently.

    Quoting Hugh's discovery and explanation of the SMP race condition:

    "mm->nr_ptes had unusual locking: down_read mmap_sem plus
    page_table_lock when incrementing, down_write mmap_sem (or mm_users
    0) when decrementing; whereas THP is careful to increment and
    decrement it under page_table_lock.

    Now most of those paths in THP also hold mmap_sem for read or write
    (with appropriate checks on mm_users), but two do not: when
    split_huge_page() is called by hwpoison_user_mappings(), and when
    called by add_to_swap().

    It's conceivable that the latter case is responsible for the
    exit_mmap() BUG_ON mm->nr_ptes that has been reported on Fedora."

    The simplest way to fix it without having to alter the locking is to make
    split_huge_page() a noop in nr_ptes terms, so by counting the preallocated
    pagetables that exists for every mapped hugepage. It was an arbitrary
    choice not to count them and either way is not wrong or right, because
    they are not used but they're still allocated.

    Reported-by: Dave Jones
    Reported-by: Hugh Dickins
    Signed-off-by: Andrea Arcangeli
    Acked-by: Hugh Dickins
    Cc: David Rientjes
    Cc: Josh Boyer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Andrea Arcangeli