Kevin McKinney [Fri, 21 Dec 2012 20:10:38 +0000 (15:10 -0500)]
Staging: bcm: Remove typedef for _LINK_STATE and call directly.
This patch removes typedef for _LINK_STATE, and changes
the name of the struct to bcm_link_state. In addition,
any calls to struct "LINK_STATE, or PLINK_STATE" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Fri, 21 Dec 2012 20:10:36 +0000 (15:10 -0500)]
Staging: bcm: Remove typedef for eNVM_TYPE and call directly.
This patch removes typedef for eNVM_TYPE, and changes
the name of the enum to bcm_nvm_type. In addition,
any calls to enum "NVM_TYPE" are changed to call
directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:34 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _S_PHS_RULE and call directly.
This patch removes typedef for _S_PHS_RULE, and changes
the name of the struct to bcm_phs_rule. In
addition, any calls to struct "S_PHS_RULE" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:33 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _E_CLASSIFIER_ENTRY_CONTEXT and call directly.
This patch removes typedef for _E_CLASSIFIER_ENTRY_CONTEXT, and
changes the name of the enum to bcm_phs_classifier_context. In
addition, any calls to enum "_E_CLASSIFIER_ENTRY_CONTEXT" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:32 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _S_CLASSIFIER_ENTRY and call directly.
This patch removes typedef for _S_CLASSIFIER_ENTRY, and
changes the name of the struct to bcm_phs_classifier_entry. In
addition, any calls to struct "_S_CLASSIFIER_ENTRY" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:31 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _S_CLASSIFIER_TABLE and call directly.
This patch removes typedef for _S_CLASSIFIER_TABLE, and
changes the name of the struct to bcm_phs_classifier_table. In
addition, any calls to struct "S_CLASSIFIER_TABLE" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:30 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _S_SERVICEFLOW_ENTRY and call directly.
This patch removes typedef for _S_SERVICEFLOW_ENTRY, and
changes the name of the struct to bcm_phs_entry. In
addition, any calls to struct "_S_SERVICEFLOW_ENTRY" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:29 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _S_SERVICEFLOW_TABLE and call directly.
This patch removes typedef for _S_SERVICEFLOW_TABLE, and
changes the name of the struct to bcm_phs_table. In
addition, any calls to struct "S_SERVICEFLOW_TABLE" are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Thu, 20 Dec 2012 05:31:28 +0000 (00:31 -0500)]
Staging: bcm: Remove typedef for _PHS_DEVICE_EXTENSION and call directly.
This patch removes typedef for _PHS_DEVICE_EXTENSION, and
changes the name of the struct to bcm_phs_extension. In
addition, any calls to struct "PHS_DEVICE_EXTENSION, or
*PPHS_DEVICE_EXTENSION;" are changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Mon, 17 Dec 2012 22:35:20 +0000 (17:35 -0500)]
Staging: bcm: Remove typedef for _TARGET_PARAMS and call directly.
This patch removes typedef for _TARGET_PARAMS, and changes
the name of the struct to bcm_target_params. In addition,
any calls to struct "stTargetParams, TARGET_PARAMS,
*PTARGET_PARAMS, STARGETPARAMS, or *PSTARGETPARAMS are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 15 Dec 2012 00:26:53 +0000 (19:26 -0500)]
Staging: bcm: Remove typedef for _LEDColors and call directly.
This patch removes typedef for _LEDColors, and changes
the name of the enum to bcm_led_colors. In addition,
any calls to LEDColors are changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 15 Dec 2012 00:26:52 +0000 (19:26 -0500)]
Staging: bcm: Remove typedef for LedEvents and call directly.
This patch removes typedef for LedEvents, and changes
the name of the enum to bcm_led_events. In addition,
any calls to LedEventInfo_t are changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 15 Dec 2012 00:26:51 +0000 (19:26 -0500)]
Staging: bcm: Remove typedef for LedStateInfo_t and call directly.
This patch removes typedef for LedStateInfo_t, and changes
the name of the struct to bcm_led_state_info. In addition,
any calls to struct LEDStateInfo, or *pLEDStateInfo are
changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 15 Dec 2012 00:26:50 +0000 (19:26 -0500)]
Staging: bcm: Remove typedef for _LED_INFO_STRUCT and call directly.
This patch removes typedef for _LED_INFO_STRUCT, and changes
the name of the struct to bcm_led_info. In addition,
any calls to struct LED_INFO_STRUCT, or *PLED_INFO_STRUCT
are changed to call directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:10 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for IPV6HeaderFormatTag and call directly.
This patch removes typedef IPV6HeaderFormatTag,
and changes the name of the struct to bcm_ipv6_hdr.
In addition, any calls to typedef IPV6Header
are changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:09 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for IPV6RoutingHeaderFormatTag and call directly.
This patch removes typedef IPV6RoutingHeaderFormatTag,
and changes the name of the struct to bcm_ipv6_routing_hdr.
In addition, any calls to typedef IPV6RoutingHeader
are changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:08 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for IPV6FragmentHeaderFormatTag and call directly.
This patch removes typedef IPV6FragmentHeaderFormatTag,
and changes the name of the struct to bcm_ipv6_fragment_hdr.
In addition, any calls to typedef IPV6FragmentHeader
are changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:07 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for IPV6DestOptionsHeaderFormatTag and call directly.
This patch removes typedef IPV6DestOptionsHeaderFormatTag,
and changes the name of the struct to bcm_ipv6_dest_options_hdr.
In addition, any calls to typedef IPV6DestOptionsHeader
are changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:06 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for IPV6HopByHopOptionsHeaderFormatTag and call directly.
This patch removes typedef IPV6HopByHopOptionsHeaderFormatTag,
and changes the name of the struct to bcm_ipv6_options_hdr.
In addition, any calls to typedef IPV6HopByHopOptionsHeader
are changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:05 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for IPV6AuthenticationHeaderFormatTag and call directly.
This patch removes typedef for IPV6AuthenticationHeaderFormatTag,
and changes the name of the struct to bcm_ipv6_authentication_hdr
In addition, any calls to typedef IPV6AuthenticationHeader, are
changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Tue, 11 Dec 2012 02:55:03 +0000 (21:55 -0500)]
Staging: bcm: Remove typedef for _E_IPADDR_CONTEXT and call directly.
This patch removes typedef for _E_IPADDR_CONTEXT, and changes
the name of the enum to bcm_ipaddr_context. In addition,
any calls to enum E_IPADDR_CONTEXT are changed to call
directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 1 Dec 2012 06:15:56 +0000 (01:15 -0500)]
Staging: bcm: Remove typedef for _FLASH_CS_INFO and call directly.
This patch removes typedef for _FLASH_CS_INFO, and
changes the name of the struct to bcm_flash_cs_info.
In addition, any calls to typedefs FLASH_CS_INFO, or
*PFLASH_CS_INFO are changed to call the struct
directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 1 Dec 2012 06:15:55 +0000 (01:15 -0500)]
Staging: bcm: Remove typedef for _FLASH_2X_CS_INFO and call directly.
This patch removes typedef for _FLASH_2X_CS_INFO, and
changes the name of the struct to bcm_flash2x_cs_info.
In addition, any calls to typedefs FLASH2X_CS_INFO, or
*PFLASH2X_CS_INFO are changed to call the struct
directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 1 Dec 2012 06:15:54 +0000 (01:15 -0500)]
Staging: bcm: Remove typedef for _VENDOR_SECTION_INFO and call directly.
This patch removes typedef for _VENDOR_SECTION_INFO, and
changes the name of the struct to bcm_vendor_section_info.
In addition, any calls to typedefs VENDOR_SECTION_INFO, or
*PVENDOR_SECTION_INFO are changed to call the struct
directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 1 Dec 2012 06:15:53 +0000 (01:15 -0500)]
Staging: bcm: Remove typedef for _FLASH2X_VENDORSPECIFIC_INFO and call directly.
This patch removes typedef for _FLASH2X_VENDORSPECIFIC_INFO,
and changes the name of the struct to bcm_flash2x_vendor_info.
In addition, any calls to typedefs FLASH2X_VENDORSPECIFIC_INFO,
or *PFLASH2X_VENDORSPECIFIC_INFO are changed to call the
struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 1 Dec 2012 06:15:52 +0000 (01:15 -0500)]
Staging: bcm: Remove typedef for _DSD_HEADER and call directly.
This patch removes typedef for _DSD_HEADER, and changes
the name of the struct to bcm_dsd_header. In addition,
any calls to typedefs DSD_HEADER, or *PDSD_HEADER are
changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kevin McKinney [Sat, 1 Dec 2012 06:15:51 +0000 (01:15 -0500)]
Staging: bcm: Remove typedef for _ISO_HEADER and call directly.
This patch removes typedef for _ISO_HEADER, and changes
the name of the struct to bcm_iso_header. In addition,
any calls to typedefs ISO_HEADER, or *PISO_HEADER are
changed to call the struct directly.
Signed-off-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Merge tag 'iio-for-3.9a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan says:
First round of IIO new stuff and cleanups for 3.9
Here we have:
* RTC driver for the hid-sensor hubs. This is routed through here with
agreement of Jiri Kosina and Andrew Morton.
* Some small patches doing dead code removal and fixing some comments.
* max1363 - move to the triggered_buffer helpers (basically duplicate code
removal).
* lp8788 - parent device change from the i2c device to the intermediate mfd.
So the bulk of what we have is actually outside the IIO tree but the RTC
driver in question is dependent on some patches that directly effect IIO so
I am routing it through IIO with the agreement of the relevant maintainers
(Andrew is acting as maintainer of RTC at the moment). The majority of
HID-sensor related code is in IIO and it now crosses 3 subsystems so it
was going to be a bit awkward whatever route it took.
Alexander Holler [Sat, 15 Dec 2012 12:45:00 +0000 (12:45 +0000)]
rtc: add rtc-driver for HID sensors of type time
This driver makes the time from HID sensors (hubs) which are offering
such available like any other RTC does.
It is necessary that all values like year, month etc, are send as
8bit values (1 byte each) and all of them in 1 report. Also the
spec HUTRR39b doesn't define the range of the year field, we
tread it as 0 - 99 because that's what most RTCs I know about are
offering.
Currently the time can only be read. Setting the time must be done
through sending a report (or a feature). The spec currently doesn't
define how and I'm not sure if I just should define something by myself.
Signed-off-by: Alexander Holler <holler@ahsoftware.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Alexander Holler [Sat, 15 Dec 2012 12:45:00 +0000 (12:45 +0000)]
iio: merge hid-sensor-attributes.h into hid-sensor-hub.h
The stuff in hid-sensor-attributes.h is needed by every piece which
uses hid-sensor-hub and merging it into hid-sensor-hub.h makes it accessible
from outside the iio subdirectory.
Signed-off-by: Alexander Holler <holler@ahsoftware.de> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Kim, Milo [Thu, 3 Jan 2013 06:28:00 +0000 (06:28 +0000)]
iio: lp8788_adc: fix a parent device in _probe()
The lp8788-adc is a platform driver of lp8788-mfd.
The platform device is allocated when mfd_add_devices() is called
in lp8788-mfd.
On the other hand, 'lp->dev' is the i2c client device.
Therefore, this 'platform_device' is a proper parent device of
iio device and device kernel message.
Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
leds: leds-gpio: set devm_gpio_request_one() flags param correctly
commit a99d76f leds: leds-gpio: use gpio_request_one
changed the leds-gpio driver to use gpio_request_one() instead
of gpio_request() + gpio_direction_output()
Unfortunately, it also made a semantic change that breaks the
leds-gpio driver.
The gpio_request_one() flags parameter was set to:
GPIOF_DIR_OUT | (led_dat->active_low ^ state)
Since GPIOF_DIR_OUT is 0, the final flags value will just be the
XOR'ed value of led_dat->active_low and state.
This value were used to distinguish between HIGH/LOW output initial
level and call gpio_direction_output() accordingly.
With this new semantic gpio_request_one() will take the flags value
of 1 as a configuration of input direction (GPIOF_DIR_IN) and will
call gpio_direction_input() instead of gpio_direction_output().
Linus Torvalds [Thu, 3 Jan 2013 01:46:14 +0000 (17:46 -0800)]
Merge git://www.linux-watchdog.org/linux-watchdog
Pull watchdog fixes from Wim Van Sebroeck:
"This fixes some small errors in the new da9055 driver, eliminates a
compiler warning and adds DT support for the twl4030_wdt driver (so
that we can have multiple watchdogs with DT on the omap platforms)."
* git://www.linux-watchdog.org/linux-watchdog:
watchdog: twl4030_wdt: add DT support
watchdog: omap_wdt: eliminate unused variable and a compiler warning
watchdog: da9055: Don't update wdt_dev->timeout in da9055_wdt_set_timeout error path
watchdog: da9055: Fix invalid free of devm_ allocated data
Linus Torvalds [Thu, 3 Jan 2013 01:44:29 +0000 (17:44 -0800)]
Merge tag '3.8-pci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"Some fixes for v3.8. They include a fix for the new SR-IOV sysfs
management support, an expanded quirk for Ricoh SD card readers, a
Stratus DMI quirk fix, and a PME polling fix."
* tag '3.8-pci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz
PCI/PM: Do not suspend port if any subordinate device needs PME polling
PCI: Add PCIe Link Capability link speed and width names
PCI: Work around Stratus ftServer broken PCIe hierarchy (fix DMI check)
PCI: Remove spurious error for sriov_numvfs store and simplify flow
David Howells [Wed, 2 Jan 2013 15:13:02 +0000 (15:13 +0000)]
UAPI: Strip _UAPI prefix on header install no matter the whitespace
Commit 56c176c9cac9 ("UAPI: strip the _UAPI prefix from header guards
during header installation") strips the _UAPI prefix from header guards,
but only if there's a single space between the cpp directive and the
label.
Make it more flexible and able to handle tabs and multiple white space
characters.
Signed-off-by: David Howells <dhowell@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Thu, 3 Jan 2013 01:33:50 +0000 (17:33 -0800)]
Merge tag 'ecryptfs-3.8-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
Pull ecryptfs fixes from Tyler Hicks:
"Two self-explanatory fixes and a third patch which improves
performance: when overwriting a full page in the eCryptfs page cache,
skip reading in and decrypting the corresponding lower page."
* tag 'ecryptfs-3.8-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
fs/ecryptfs/crypto.c: make ecryptfs_encode_for_filename() static
eCryptfs: fix to use list_for_each_entry_safe() when delete items
eCryptfs: Avoid unnecessary disk read and data decryption during writing
Linus Torvalds [Thu, 3 Jan 2013 01:32:49 +0000 (17:32 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph fixes from Sage Weil:
"Two of Alex's patches deal with a race when reseting server
connections for open RBD images, one demotes some non-fatal BUGs to
WARNs, and my patch fixes a protocol feature bit failure path."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
libceph: fix protocol feature mismatch failure path
libceph: WARN, don't BUG on unexpected connection states
libceph: always reset osds when kicking
libceph: move linger requests sooner in kick_requests()
It's very unlikely this will happen as shared pages are not marked
pte_numa -- see the page_mapcount() check in change_pte_range() -- but
it is possible.
To address this, this patch restores sp->lock as originally implemented
by Kosaki Motohiro. In the path where get_vma_policy() is called, it
should not be calling sp_alloc() so it is not necessary to treat the PTL
specially.
Linus Torvalds [Wed, 2 Jan 2013 17:57:34 +0000 (09:57 -0800)]
Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 bug fixes from Ted Ts'o:
"Various bug fixes for ext4. Perhaps the most serious bug fixed is one
which could cause file system corruptions when performing file punch
operations."
* tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: avoid hang when mounting non-journal filesystems with orphan list
ext4: lock i_mutex when truncating orphan inodes
ext4: do not try to write superblock on ro remount w/o journal
ext4: include journal blocks in df overhead calcs
ext4: remove unaligned AIO warning printk
ext4: fix an incorrect comment about i_mutex
ext4: fix deadlock in journal_unmap_buffer()
ext4: split off ext4_journalled_invalidatepage()
jbd2: fix assertion failure in jbd2_journal_flush()
ext4: check dioread_nolock on remount
ext4: fix extent tree corruption caused by hole punch
Recently I suggested using "mount -o remount,mpol=local /tmp" in NUMA
mempolicy testing. Very nasty. Reading /proc/mounts, /proc/pid/mounts
or /proc/pid/mountinfo may then corrupt one bit of kernel memory, often
in a page table (causing "Bad swap" or "Bad page map" warning or "Bad
pagetable" oops), sometimes in a vm_area_struct or rbnode or somewhere
worse. "mpol=prefer" and "mpol=prefer:Node" are equally toxic.
Recent NUMA enhancements are not to blame: this dates back to 2.6.35,
when commit e17f74af351c "mempolicy: don't call mpol_set_nodemask() when
no_context" skipped mpol_parse_str()'s call to mpol_set_nodemask(),
which used to initialize v.preferred_node, or set MPOL_F_LOCAL in flags.
With slab poisoning, you can then rely on mpol_to_str() to set the bit
for node 0x6b6b, probably in the next page above the caller's stack.
mpol_parse_str() is only called from shmem_parse_options(): no_context
is always true, so call it unused for now, and remove !no_context code.
Set v.nodes or v.preferred_node or MPOL_F_LOCAL as mpol_to_str() might
expect. Then mpol_to_str() can ignore its no_context argument also,
the mpol being appropriately initialized whether contextualized or not.
Rename its no_context unused too, and let subsequent patch remove them
(that's not needed for stable backporting, which would involve rejects).
I don't understand why MPOL_LOCAL is described as a pseudo-policy:
it's a reasonable policy which suffers from a confusing implementation
in terms of MPOL_PREFERRED with MPOL_F_LOCAL. I believe this would be
much more robust if MPOL_LOCAL were recognized in switch statements
throughout, MPOL_F_LOCAL deleted, and MPOL_PREFERRED use the (possibly
empty) nodes mask like everyone else, instead of its preferred_node
variant (I presume an optimization from the days before MPOL_LOCAL).
But that would take me too long to get right and fully tested.
Eric Wong [Tue, 1 Jan 2013 21:20:27 +0000 (21:20 +0000)]
epoll: prevent missed events on EPOLL_CTL_MOD
EPOLL_CTL_MOD sets the interest mask before calling f_op->poll() to
ensure events are not missed. Since the modifications to the interest
mask are not protected by the same lock as ep_poll_callback, we need to
ensure the change is visible to other CPUs calling ep_poll_callback.
We also need to ensure f_op->poll() has an up-to-date view of past
events which occured before we modified the interest mask. So this
barrier also pairs with the barrier in wq_has_sleeper().
This should guarantee either ep_poll_callback or f_op->poll() (or both)
will notice the readiness of a recently-ready/modified item.
This issue was encountered by Andreas Voellmy and Junchang(Jason) Wang in:
http://thread.gmane.org/gmane.linux.kernel/1408782/
Signed-off-by: Eric Wong <normalperson@yhbt.net> Cc: Hans Verkuil <hans.verkuil@cisco.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Davide Libenzi <davidel@xmailserver.org> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: David Miller <davem@davemloft.net> Cc: Eric Dumazet <eric.dumazet@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andreas Voellmy <andreas.voellmy@yale.edu> Tested-by: "Junchang(Jason) Wang" <junchang.wang@yale.edu> Cc: netdev@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Aaro Koskinen [Sun, 23 Dec 2012 20:03:36 +0000 (22:03 +0200)]
watchdog: omap_wdt: eliminate unused variable and a compiler warning
We forgot to delete this in the commit 4f4753d9 (watchdog: omap_wdt:
convert to devm_ functions), and as a result the following compilation
warning was introduced:
drivers/watchdog/omap_wdt.c: In function 'omap_wdt_remove':
drivers/watchdog/omap_wdt.c:299:19: warning: unused variable 'res' [-Wunused-variable]
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Reviewed-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>