Olof Johansson [Sat, 13 Jul 2013 03:00:20 +0000 (20:00 -0700)]
arm: multi_v7_defconfig: Tweaks for omap and sunxi
OMAP recently changed how the platforms are configured, so OMAP2/3/4 SoC
support is no longer enabled by default. Add them back.
Enable new ethernet driver for sunxi.
The i.MX console options moved due to resorting, no functional change.
Signed-off-by: Olof Johansson <olof@lixom.net>
Dmitry Torokhov [Sat, 13 Jul 2013 06:34:25 +0000 (23:34 -0700)]
Merge branch 'next' into for-linus
Bring in second round of updates for 3.11.
James Bottomley [Sat, 13 Jul 2013 04:22:56 +0000 (08:22 +0400)]
Merge tag 'fcoe' into for-linus
A short series of fixes to libfc, libfcoe and fcoe.
Most patches fix formatting problems, one changes
the behavior of which discovered ports can/will be
logged into and another fixes a memory leak.
Hannes Frederic Sowa [Fri, 12 Jul 2013 21:46:33 +0000 (23:46 +0200)]
ipv6: only static routes qualify for equal cost multipathing
Static routes in this case are non-expiring routes which did not get
configured by autoconf or by icmpv6 redirects.
To make sure we actually get an ecmp route while searching for the first
one in this fib6_node's leafs, also make sure it matches the ecmp route
assumptions.
v2:
a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
already ensures that this route, even if added again without
RTF_EXPIRES (in case of a RA announcement with infinite timeout),
does not cause the rt6i_nsiblings logic to go wrong if a later RA
updates the expiration time later.
v3:
a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
because an pmtu event could update the RTF_EXPIRES flag and we would
not count this route, if another route joins this set. We now filter
only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
don't get changed after rt6_info construction.
Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Neil Horman [Fri, 12 Jul 2013 17:35:33 +0000 (13:35 -0400)]
via-rhine: fix dma mapping errors
this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=951695
Reported a dma debug backtrace:
WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
Hardware name: To Be Filled By O.E.M.
via-rhine 0000:00:12.0: DMA-API: device driver failed to check map error[device
address=0x0000000075a837b2] [size=90 bytes] [mapped as single]
Modules linked in: ip6_tables gspca_spca561 gspca_main videodev media
snd_hda_codec_realtek snd_hda_intel i2c_viapro snd_hda_codec snd_hwdep snd_seq
ppdev mperf via_rhine coretemp snd_pcm mii microcode snd_page_alloc snd_timer
snd_mpu401 snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore parport_pc
parport shpchp ata_generic pata_acpi radeon i2c_algo_bit drm_kms_helper ttm drm
pata_via sata_via i2c_core uinput
Pid: 295, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.1.fc20.x86_64 #1
Call Trace:
<IRQ> [<
ffffffff81068dd0>] warn_slowpath_common+0x70/0xa0
[<
ffffffff81068e4c>] warn_slowpath_fmt+0x4c/0x50
[<
ffffffff8137ec6d>] check_unmap+0x47d/0x930
[<
ffffffff810ace9f>] ? local_clock+0x5f/0x70
[<
ffffffff8137f17f>] debug_dma_unmap_page+0x5f/0x70
[<
ffffffffa0225edc>] ? rhine_ack_events.isra.14+0x3c/0x50 [via_rhine]
[<
ffffffffa02275f8>] rhine_napipoll+0x1d8/0xd80 [via_rhine]
[<
ffffffff815d3d51>] ? net_rx_action+0xa1/0x380
[<
ffffffff815d3e22>] net_rx_action+0x172/0x380
[<
ffffffff8107345f>] __do_softirq+0xff/0x400
[<
ffffffff81073925>] irq_exit+0xb5/0xc0
[<
ffffffff81724cd6>] do_IRQ+0x56/0xc0
[<
ffffffff81719ff2>] common_interrupt+0x72/0x72
<EOI> [<
ffffffff8170ff57>] ? __slab_alloc+0x4c2/0x526
[<
ffffffff811992e0>] ? mmap_region+0x2b0/0x5a0
[<
ffffffff810d5807>] ? __lock_is_held+0x57/0x80
[<
ffffffff811992e0>] ? mmap_region+0x2b0/0x5a0
[<
ffffffff811bf1bf>] kmem_cache_alloc+0x2df/0x360
[<
ffffffff811992e0>] mmap_region+0x2b0/0x5a0
[<
ffffffff811998e6>] do_mmap_pgoff+0x316/0x3d0
[<
ffffffff81183ca0>] vm_mmap_pgoff+0x90/0xc0
[<
ffffffff81197d6c>] sys_mmap_pgoff+0x4c/0x190
[<
ffffffff81367d7e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[<
ffffffff8101eb42>] sys_mmap+0x22/0x30
[<
ffffffff81722fd9>] system_call_fastpath+0x16/0x1b
Usual problem with the usual fix, add the appropriate calls to dma_mapping_error
where appropriate
Untested, as I don't have hardware, but its pretty straightforward
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: David S. Miller <davem@davemloft.net>
CC: Roger Luethi <rl@hellgate.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Neil Horman [Fri, 12 Jul 2013 14:58:48 +0000 (10:58 -0400)]
atl1e: fix dma mapping warnings
Recently had this backtrace reported:
WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
Hardware name: System Product Name
ATL1E 0000:02:00.0: DMA-API: device driver failed to check map error[device
address=0x00000000cbfd1000] [size=90 bytes] [mapped as single]
Modules linked in: xt_conntrack nf_conntrack ebtable_filter ebtables
ip6table_filter ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek iTCO_wdt
iTCO_vendor_support snd_hda_intel acpi_cpufreq mperf coretemp btrfs zlib_deflate
snd_hda_codec snd_hwdep microcode raid6_pq libcrc32c snd_seq usblp serio_raw xor
snd_seq_device joydev snd_pcm snd_page_alloc snd_timer snd lpc_ich i2c_i801
soundcore mfd_core atl1e asus_atk0110 ata_generic pata_acpi radeon i2c_algo_bit
drm_kms_helper ttm drm i2c_core pata_marvell uinput
Pid: 314, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.3.fc19.x86_64 #1
Call Trace:
<IRQ> [<
ffffffff81069106>] warn_slowpath_common+0x66/0x80
[<
ffffffff8106916c>] warn_slowpath_fmt+0x4c/0x50
[<
ffffffff8138151d>] check_unmap+0x47d/0x930
[<
ffffffff810ad048>] ? sched_clock_cpu+0xa8/0x100
[<
ffffffff81381a2f>] debug_dma_unmap_page+0x5f/0x70
[<
ffffffff8137ce30>] ? unmap_single+0x20/0x30
[<
ffffffffa01569a1>] atl1e_intr+0x3a1/0x5b0 [atl1e]
[<
ffffffff810d53fd>] ? trace_hardirqs_off+0xd/0x10
[<
ffffffff81119636>] handle_irq_event_percpu+0x56/0x390
[<
ffffffff811199ad>] handle_irq_event+0x3d/0x60
[<
ffffffff8111cb6a>] handle_fasteoi_irq+0x5a/0x100
[<
ffffffff8101c36f>] handle_irq+0xbf/0x150
[<
ffffffff811dcb2f>] ? file_sb_list_del+0x3f/0x50
[<
ffffffff81073b10>] ? irq_enter+0x50/0xa0
[<
ffffffff8172738d>] do_IRQ+0x4d/0xc0
[<
ffffffff811dcb2f>] ? file_sb_list_del+0x3f/0x50
[<
ffffffff8171c6b2>] common_interrupt+0x72/0x72
<EOI> [<
ffffffff810db5b2>] ? lock_release+0xc2/0x310
[<
ffffffff8109ea04>] lg_local_unlock_cpu+0x24/0x50
[<
ffffffff811dcb2f>] file_sb_list_del+0x3f/0x50
[<
ffffffff811dcb6d>] fput+0x2d/0xc0
[<
ffffffff811d8ea1>] filp_close+0x61/0x90
[<
ffffffff811fae4d>] __close_fd+0x8d/0x150
[<
ffffffff811d8ef0>] sys_close+0x20/0x50
[<
ffffffff81725699>] system_call_fastpath+0x16/0x1b
The usual straighforward failure to check for dma_mapping_error after a map
operation is completed.
This patch should fix it, the reporter wandered off after filing this bz:
https://bugzilla.redhat.com/show_bug.cgi?id=954170
and I don't have hardware to test, but the fix is pretty straightforward, so I
figured I'd post it for review.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Jay Cliburn <jcliburn@gmail.com>
CC: Chris Snook <chris.snook@gmail.com>
CC: "David S. Miller" <davem@davemloft.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Yuchung Cheng [Fri, 12 Jul 2013 18:33:04 +0000 (11:33 -0700)]
tcp: account all retransmit failures
Change snmp RETRANSFAILS stat to include timeout retransmit failures
in addition to other loss recoveries.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
hayeswang [Fri, 12 Jul 2013 08:26:16 +0000 (16:26 +0800)]
usb/net/r815x: fix cast to restricted __le32
>> drivers/net/usb/r815x.c:38:16: sparse: cast to restricted __le32
>> drivers/net/usb/r815x.c:67:15: sparse: cast to restricted __le32
>> drivers/net/usb/r815x.c:69:13: sparse: incorrect type in assignment (different base types)
drivers/net/usb/r815x.c:69:13: expected unsigned int [unsigned] [addressable] [assigned] [usertype] tmp
drivers/net/usb/r815x.c:69:13: got restricted __le32 [usertype] <noident>
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Spotted-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
hayeswang [Fri, 12 Jul 2013 08:26:15 +0000 (16:26 +0800)]
usb/net/r8152: fix integer overflow in expression
config: make ARCH=avr32 allyesconfig
drivers/net/usb/r8152.c: In function 'rtl8152_start_xmit':
drivers/net/usb/r8152.c:956: warning: integer overflow in expression
955 memset(tx_desc, 0, sizeof(*tx_desc));
> 956 tx_desc->opts1 = cpu_to_le32((len & TX_LEN_MASK) | TX_FS | TX_LS);
957 tp->tx_skb = skb;
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Spotted-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sunghan Suh [Fri, 12 Jul 2013 07:17:23 +0000 (16:17 +0900)]
net: access page->private by using page_private
Signed-off-by: Sunghan Suh <sunghan.suh@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
“Cosmin [Fri, 12 Jul 2013 06:33:33 +0000 (09:33 +0300)]
net: strict_strtoul is obsolete, use kstrtoul instead
patch found using checkpatch.pl
Signed-off-by: Cosmin Stanescu <cosmin90stanescu@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Olof Johansson [Fri, 12 Jul 2013 18:06:01 +0000 (11:06 -0700)]
Merge tag 'ux500-defconfig-for-arm-soc' of git://git./linux/kernel/git/linusw/linux-stericsson into fixes
From Linus Walleij:
Ux500 defconfig changes:
- Update base due to different Kconfig changes
- Select watchdog, MUSB, Ux500 ALSA SoC, various MMC/SD
features and enable highmem
* tag 'ux500-defconfig-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
ARM: ux500: Enable HIGHMEM in the u8500 defconfig
ARM: ux500: Update MMC configs for u8500 defconfig
ARM: ux500: select SND_SOC_UX500 for ux500
ARM: ux500: update defconfig base
ARM: ux500: select WATCHDOG and MUSB for ux500
Signed-off-by: Olof Johansson <olof@lixom.net>
Vincent Stehlé [Wed, 3 Jul 2013 08:12:58 +0000 (10:12 +0200)]
arm: multi_v7_defconfig: add i.MX options and NFS root
- Add i.MX serial console support. This gives us the boot messages on
UART on e.g. the i.MX6Q sabre sd platform.
- Add the necessary config options, to allow booting with NFS root on
an i.MX6 sabre sd.
- Add Freescale LPUART serial console support. This gives us the boot
messages on UART on e.g. the Vybrid VF610 Tower board.
Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com>
Cc: Russell King <linux@arm.linux.org.uk>
[olof: squashed three commits down to one]
Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson [Fri, 12 Jul 2013 17:59:39 +0000 (10:59 -0700)]
Merge tag 'omap-for-v3.11/fixes-for-merge-window' of git://git./linux/kernel/git/tmlind/linux-omap into fixes
Omap fixes and minor defconfig updates that would be good to
get in before -rc1.
* tag 'omap-for-v3.11/fixes-for-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: omap2plus_defconfig: Enable appended DTB support
ARM: OMAP2+: Enable TI_EDMA in omap2plus_defconfig
ARM: OMAP2+: omap2plus_defconfig: enable DRA752 thermal support by default
ARM: OMAP2+: omap2plus_defconfig: enable TI bandgap driver
ARM: OMAP2+: devices: remove duplicated include from devices.c
ARM: OMAP3: igep0020: Set DSS pins in correct mux mode.
ARM: OMAP2+: N900: enable N900-specific drivers even if device tree is enabled
ARM: OMAP2+: Cocci spatch "ptr_ret.spatch"
ARM: OMAP2+: Remove obsolete Makefile line
ARM: OMAP5: Enable Cortex A15 errata 798181
ARM: scu: provide inline dummy functions when SCU is not present
ARM: OMAP4: sleep: build OMAP4 specific functions only for OMAP4
ARM: OMAP2+: timer: initialize before using oh_name
Signed-off-by: Olof Johansson <olof@lixom.net>
Add/move/change conflicts in arch/arm/mach-omap2/Kconfig resolved.
Ralf Baechle [Tue, 2 Jul 2013 15:19:04 +0000 (17:19 +0200)]
Merge branch '3.10-fixes' into mips-for-linux-next
This that should have been fixed but weren't, way to much, intrusive
and late.
Thomas Gleixner [Fri, 12 Jul 2013 15:10:30 +0000 (17:10 +0200)]
Merge branch 'timers/clockevents' of git://git.linaro.org/people/dlezcano/clockevents into timers/urgent
* New clocksource drivers for ARM SoCs to share
Dave Hansen [Mon, 8 Jul 2013 21:44:04 +0000 (14:44 -0700)]
perf/x86: Fix incorrect use of do_div() in NMI warning
I completely botched understanding the calling conventions of
do_div(). I assumed that do_div() returned the result instead
of realizing that it modifies its argument and returns a
remainder. The side-effect from this would be bogus numbers
for the "msecs" value in the warning messages:
INFO: NMI handler (perf_event_nmi_handler) took too long to run: 0.114 msecs
Note, there was a second fix posted by Stephane Eranian for
a separate patch which I also botched:
http://lkml.kernel.org/r/
20130704223010.GA30625@quad
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Dave Hansen <dave@sr71.net>
Link: http://lkml.kernel.org/r/20130708214404.B0B6EA66@viggo.jf.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Peter Zijlstra [Fri, 28 Jun 2013 09:18:53 +0000 (11:18 +0200)]
sched: Fix HRTICK
David reported that the HRTICK sched feature was borken; which was enough
motivation for me to finally fix it ;-)
We should not allow hrtimer code to do softirq wakeups while holding scheduler
locks. The hrtimer code only needs this when we accidentally try to program an
expired time. We don't much care about those anyway since we have the regular
tick to fall back to.
Reported-by: David Ahern <dsahern@gmail.com>
Tested-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20130628091853.GE29209@dyad.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Stephen Boyd [Thu, 11 Jul 2013 14:00:59 +0000 (07:00 -0700)]
tick: broadcast: Check broadcast mode on CPU hotplug
On ARM systems the dummy clockevent is registered with the cpu
hotplug notifier chain before any other per-cpu clockevent. This
has the side-effect of causing the dummy clockevent to be
registered first in every hotplug sequence. Because the dummy is
first, we'll try to turn the broadcast source on but the code in
tick_device_uses_broadcast() assumes the broadcast source is in
periodic mode and calls tick_broadcast_start_periodic()
unconditionally.
On boot this isn't a problem because we typically haven't
switched into oneshot mode yet (if at all). During hotplug, if
the broadcast source isn't in periodic mode we'll replace the
broadcast oneshot handler with the broadcast periodic handler and
start emulating oneshot mode when we shouldn't. Due to the way
the broadcast oneshot handler programs the next_event it's
possible for it to contain KTIME_MAX and cause us to hang the
system when the periodic handler tries to program the next tick.
Fix this by using the appropriate function to start the broadcast
source.
Reported-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Mark Rutland <Mark.Rutland@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: ARM kernel mailing list <linux-arm-kernel@lists.infradead.org>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Joseph Lo <josephl@nvidia.com>
Link: http://lkml.kernel.org/r/20130711140059.GA27430@codeaurora.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Thomas Gleixner [Fri, 12 Jul 2013 10:34:42 +0000 (12:34 +0200)]
Merge branch 'linus' into timers/urgent
Get upstream changes so we can apply fixes against them
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Maarten Lankhorst [Fri, 5 Jul 2013 07:29:32 +0000 (09:29 +0200)]
mutex: Move ww_mutex definitions to ww_mutex.h
Move the definitions for wound/wait mutexes out to a separate
header, ww_mutex.h. This reduces clutter in mutex.h, and
increases readability.
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: Dave Airlie <airlied@gmail.com>
Link: http://lkml.kernel.org/r/51D675DC.3000907@canonical.com
[ Tidied up the code a bit. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Peter Zijlstra [Fri, 12 Jul 2013 09:08:33 +0000 (11:08 +0200)]
perf: Fix perf_lock_task_context() vs RCU
Jiri managed to trigger this warning:
[] ======================================================
[] [ INFO: possible circular locking dependency detected ]
[] 3.10.0+ #228 Tainted: G W
[] -------------------------------------------------------
[] p/6613 is trying to acquire lock:
[] (rcu_node_0){..-...}, at: [<
ffffffff810ca797>] rcu_read_unlock_special+0xa7/0x250
[]
[] but task is already holding lock:
[] (&ctx->lock){-.-...}, at: [<
ffffffff810f2879>] perf_lock_task_context+0xd9/0x2c0
[]
[] which lock already depends on the new lock.
[]
[] the existing dependency chain (in reverse order) is:
[]
[] -> #4 (&ctx->lock){-.-...}:
[] -> #3 (&rq->lock){-.-.-.}:
[] -> #2 (&p->pi_lock){-.-.-.}:
[] -> #1 (&rnp->nocb_gp_wq[1]){......}:
[] -> #0 (rcu_node_0){..-...}:
Paul was quick to explain that due to preemptible RCU we cannot call
rcu_read_unlock() while holding scheduler (or nested) locks when part
of the read side critical section was preemptible.
Therefore solve it by making the entire RCU read side non-preemptible.
Also pull out the retry from under the non-preempt to play nice with RT.
Reported-by: Jiri Olsa <jolsa@redhat.com>
Helped-out-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: <stable@kernel.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Jiri Olsa [Tue, 9 Jul 2013 15:44:11 +0000 (17:44 +0200)]
perf: Remove WARN_ON_ONCE() check in __perf_event_enable() for valid scenario
The '!ctx->is_active' check has a valid scenario, so
there's no need for the warning.
The reason is that there's a time window between the
'ctx->is_active' check in the perf_event_enable() function
and the __perf_event_enable() function having:
- IRQs on
- ctx->lock unlocked
where the task could be killed and 'ctx' deactivated by
perf_event_exit_task(), ending up with the warning below.
So remove the WARN_ON_ONCE() check and add comments to
explain it all.
This addresses the following warning reported by Vince Weaver:
[ 324.983534] ------------[ cut here ]------------
[ 324.984420] WARNING: at kernel/events/core.c:1953 __perf_event_enable+0x187/0x190()
[ 324.984420] Modules linked in:
[ 324.984420] CPU: 19 PID: 2715 Comm: nmi_bug_snb Not tainted 3.10.0+ #246
[ 324.984420] Hardware name: Supermicro X8DTN/X8DTN, BIOS 4.6.3 01/08/2010
[ 324.984420]
0000000000000009 ffff88043fce3ec8 ffffffff8160ea0b ffff88043fce3f00
[ 324.984420]
ffffffff81080ff0 ffff8802314fdc00 ffff880231a8f800 ffff88043fcf7860
[ 324.984420]
0000000000000286 ffff880231a8f800 ffff88043fce3f10 ffffffff8108103a
[ 324.984420] Call Trace:
[ 324.984420] <IRQ> [<
ffffffff8160ea0b>] dump_stack+0x19/0x1b
[ 324.984420] [<
ffffffff81080ff0>] warn_slowpath_common+0x70/0xa0
[ 324.984420] [<
ffffffff8108103a>] warn_slowpath_null+0x1a/0x20
[ 324.984420] [<
ffffffff81134437>] __perf_event_enable+0x187/0x190
[ 324.984420] [<
ffffffff81130030>] remote_function+0x40/0x50
[ 324.984420] [<
ffffffff810e51de>] generic_smp_call_function_single_interrupt+0xbe/0x130
[ 324.984420] [<
ffffffff81066a47>] smp_call_function_single_interrupt+0x27/0x40
[ 324.984420] [<
ffffffff8161fd2f>] call_function_single_interrupt+0x6f/0x80
[ 324.984420] <EOI> [<
ffffffff816161a1>] ? _raw_spin_unlock_irqrestore+0x41/0x70
[ 324.984420] [<
ffffffff8113799d>] perf_event_exit_task+0x14d/0x210
[ 324.984420] [<
ffffffff810acd04>] ? switch_task_namespaces+0x24/0x60
[ 324.984420] [<
ffffffff81086946>] do_exit+0x2b6/0xa40
[ 324.984420] [<
ffffffff8161615c>] ? _raw_spin_unlock_irq+0x2c/0x30
[ 324.984420] [<
ffffffff81087279>] do_group_exit+0x49/0xc0
[ 324.984420] [<
ffffffff81096854>] get_signal_to_deliver+0x254/0x620
[ 324.984420] [<
ffffffff81043057>] do_signal+0x57/0x5a0
[ 324.984420] [<
ffffffff8161a164>] ? __do_page_fault+0x2a4/0x4e0
[ 324.984420] [<
ffffffff8161665c>] ? retint_restore_args+0xe/0xe
[ 324.984420] [<
ffffffff816166cd>] ? retint_signal+0x11/0x84
[ 324.984420] [<
ffffffff81043605>] do_notify_resume+0x65/0x80
[ 324.984420] [<
ffffffff81616702>] retint_signal+0x46/0x84
[ 324.984420] ---[ end trace
442ec2f04db3771a ]---
Reported-by: Vince Weaver <vincent.weaver@maine.edu>
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Suggested-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1373384651-6109-2-git-send-email-jolsa@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Jiri Olsa [Tue, 9 Jul 2013 15:44:10 +0000 (17:44 +0200)]
perf: Clone child context from parent context pmu
Currently when the child context for inherited events is
created, it's based on the pmu object of the first event
of the parent context.
This is wrong for the following scenario:
- HW context having HW and SW event
- HW event got removed (closed)
- SW event stays in HW context as the only event
and its pmu is used to clone the child context
The issue starts when the cpu context object is touched
based on the pmu context object (__get_cpu_context). In
this case the HW context will work with SW cpu context
ending up with following WARN below.
Fixing this by using parent context pmu object to clone
from child context.
Addresses the following warning reported by Vince Weaver:
[ 2716.472065] ------------[ cut here ]------------
[ 2716.476035] WARNING: at kernel/events/core.c:2122 task_ctx_sched_out+0x3c/0x)
[ 2716.476035] Modules linked in: nfsd auth_rpcgss oid_registry nfs_acl nfs locn
[ 2716.476035] CPU: 0 PID: 3164 Comm: perf_fuzzer Not tainted 3.10.0-rc4 #2
[ 2716.476035] Hardware name: AOpen DE7000/nMCP7ALPx-DE R1.06 Oct.19.2012, BI2
[ 2716.476035]
0000000000000000 ffffffff8102e215 0000000000000000 ffff88011fc18
[ 2716.476035]
ffff8801175557f0 0000000000000000 ffff880119fda88c ffffffff810ad
[ 2716.476035]
ffff880119fda880 ffffffff810af02a 0000000000000009 ffff880117550
[ 2716.476035] Call Trace:
[ 2716.476035] [<
ffffffff8102e215>] ? warn_slowpath_common+0x5b/0x70
[ 2716.476035] [<
ffffffff810ab2bd>] ? task_ctx_sched_out+0x3c/0x5f
[ 2716.476035] [<
ffffffff810af02a>] ? perf_event_exit_task+0xbf/0x194
[ 2716.476035] [<
ffffffff81032a37>] ? do_exit+0x3e7/0x90c
[ 2716.476035] [<
ffffffff810cd5ab>] ? __do_fault+0x359/0x394
[ 2716.476035] [<
ffffffff81032fe6>] ? do_group_exit+0x66/0x98
[ 2716.476035] [<
ffffffff8103dbcd>] ? get_signal_to_deliver+0x479/0x4ad
[ 2716.476035] [<
ffffffff810ac05c>] ? __perf_event_task_sched_out+0x230/0x2d1
[ 2716.476035] [<
ffffffff8100205d>] ? do_signal+0x3c/0x432
[ 2716.476035] [<
ffffffff810abbf9>] ? ctx_sched_in+0x43/0x141
[ 2716.476035] [<
ffffffff810ac2ca>] ? perf_event_context_sched_in+0x7a/0x90
[ 2716.476035] [<
ffffffff810ac311>] ? __perf_event_task_sched_in+0x31/0x118
[ 2716.476035] [<
ffffffff81050dd9>] ? mmdrop+0xd/0x1c
[ 2716.476035] [<
ffffffff81051a39>] ? finish_task_switch+0x7d/0xa6
[ 2716.476035] [<
ffffffff81002473>] ? do_notify_resume+0x20/0x5d
[ 2716.476035] [<
ffffffff813654f5>] ? retint_signal+0x3d/0x78
[ 2716.476035] ---[ end trace
827178d8a5966c3d ]---
Reported-by: Vince Weaver <vincent.weaver@maine.edu>
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1373384651-6109-1-git-send-email-jolsa@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Ingo Molnar [Fri, 12 Jul 2013 07:44:07 +0000 (09:44 +0200)]
Merge tag 'perf-urgent-for-mingo' of git://git./linux/kernel/git/acme/linux into perf/urgent
Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
* Fix some freeing bugs on the parsing error paths, from Adrian Hunter.
* Update symbol_conf.nr_events when processing attribute events, fix from Adrian Hunter.
* Fix missing increment in sample parsing when PERF_SAMPLE_STACK_USER
is present, from Adrian Hunt.
* Fix count parameter to read call in event_format__new, from David Ahern.
* Remove -A/--append option, not working for a long time, from Jiri Olsa.
* Remove -f/--force option, was a no-op for quite some time, from Jiri Olsa.
* Fix -x/--exclude-other option for report command, from Jiri Olsa.
* Cross build fixes, at least one for Android, from Joonsoo Kim.
* Fix memory allocation fail check in mem{set,cpy} 'perf bench' workloads,
from Kirill A. Shutemov.
* Revert regression in configuration of Python support, from Michael Witten.
* Fix -ldw/-lelf link test when static linking, from Mike Frysinger.
* Fix issues with multiple children processing in perf_evlist__start_workload(),
from Namhyung Kim.
* Fix broken include in Context.xs ('perf script'), from Ramkumar Ramachandra.
* Fixes for build problems, from Robert Richter.
* Fix a typo of a Power7 event name, from Runzhen Wang.
* Avoid sending SIGTERM to random processes in 'perf stat', fix from Stephane Eranian.
* Fix per-socket output bug for uncore events in 'perf stat', from Stephane Eranian.
* Fix vdso list searching, from Waiman Long.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Wolfram Sang [Wed, 10 Jul 2013 15:57:44 +0000 (16:57 +0100)]
drivers/net/ieee802154: don't use devm_pinctrl_get_select_default() in probe
Since commit
ab78029 (drivers/pinctrl: grab default handles from device core),
we can rely on device core for setting the default pins. Compile tested only.
Acked-by: Linus Walleij <linus.walleij@linaro.org> (personally at LCE13)
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Wolfram Sang [Wed, 10 Jul 2013 15:57:43 +0000 (16:57 +0100)]
drivers/net/ethernet/cadence: don't use devm_pinctrl_get_select_default() in probe
Since commit
ab78029 (drivers/pinctrl: grab default handles from device core),
we can rely on device core for setting the default pins. Compile tested only.
Acked-by: Linus Walleij <linus.walleij@linaro.org> (personally at LCE13)
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Wolfram Sang [Wed, 10 Jul 2013 15:57:42 +0000 (16:57 +0100)]
drivers/net/can/c_can: don't use devm_pinctrl_get_select_default() in probe
Since commit
ab78029 (drivers/pinctrl: grab default handles from device core),
we can rely on device core for setting the default pins. Compile tested only.
Acked-by: Linus Walleij <linus.walleij@linaro.org> (personally at LCE13)
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
hayeswang [Mon, 8 Jul 2013 02:41:21 +0000 (10:41 +0800)]
net/usb: add relative mii functions for r815x
Base on cdc_ether, add the mii functions for RTL8152 and RTL8153.
The RTL8152 and RTL8153 support ECM mode which use the driver of
cdc_ether. Add the mii functions. Then, the basic PHY access is
possible.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Andy Shevchenko [Wed, 10 Jul 2013 14:30:34 +0000 (17:30 +0300)]
net/tipc: use %*phC to dump small buffers in hex form
Instead of passing each byte by stack let's use nice specifier for that.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Roland Dreier [Thu, 11 Jul 2013 23:49:30 +0000 (16:49 -0700)]
Merge branches 'mlx5', 'qib' and 'srp' into for-next
Dan Carpenter [Wed, 10 Jul 2013 10:58:59 +0000 (13:58 +0300)]
mlx5: Return -EFAULT instead of -EPERM
For copy_to/from_user() failure, the correct error code is -EFAULT not
-EPERM.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Dean Luick [Thu, 11 Jul 2013 19:32:14 +0000 (15:32 -0400)]
IB/qib: Log all SDMA errors unconditionally
This patch adds code to log SDMA errors for supportability purposes.
Signed-off-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Mike Marciniszyn [Wed, 3 Jul 2013 17:50:28 +0000 (13:50 -0400)]
IB/qib: Fix module-level leak
The vzalloc()'ed field physshadow is leaked on module unload.
This patch adds vfree after the sibling page shadow is freed.
Reported-by: Dean Luick <dean.luick@intel.com>
Reviewed-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Moshe Lazer [Wed, 10 Jul 2013 11:31:03 +0000 (14:31 +0300)]
mlx5_core: Adjust hca_cap.uar_page_sz to conform to Connect-IB spec
Sparse reported an endianness bug in the assignment to hca_cap.uar_page_sz.
Fix the declaration of this field to be __be16 (which is what is in
the firmware spec), renaming the field to log_uar_pg_size to conform
to the spec, which fixes the endianness bug reported by sparse.
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Moshe Lazer <moshel@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Bart Van Assche [Wed, 10 Jul 2013 15:36:35 +0000 (17:36 +0200)]
IB/srp: Let srp_abort() return FAST_IO_FAIL if TL offline
If the transport layer is offline it is more appropriate to let
srp_abort() return FAST_IO_FAIL instead of SUCCESS.
Reported-by: Sebastian Riemer <sebastian.riemer@profitbricks.com>
Acked-by: David Dillow <dillowda@ornl.gov>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Jitendra Kalsaria [Wed, 10 Jul 2013 18:00:22 +0000 (14:00 -0400)]
qlcnic: Adding Maintainers.
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alexander Duyck [Thu, 11 Jul 2013 20:12:22 +0000 (13:12 -0700)]
gre: Fix MTU sizing check for gretap tunnels
This change fixes an MTU sizing issue seen with gretap tunnels when non-gso
packets are sent from the interface.
In my case I was able to reproduce the issue by simply sending a ping of
1421 bytes with the gretap interface created on a device with a standard
1500 mtu.
This fix is based on the fact that the tunnel mtu is already adjusted by
dev->hard_header_len so it would make sense that any packets being compared
against that mtu should also be adjusted by hard_header_len and the tunnel
header instead of just the tunnel header.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Reported-by: Cong Wang <amwang@redhat.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Shilovsky [Thu, 11 Jul 2013 07:17:45 +0000 (11:17 +0400)]
CIFS: Fix a deadlock when a file is reopened
If we request reading or writing on a file that needs to be
reopened, it causes the deadlock: we are already holding rw
semaphore for reading and then we try to acquire it for writing
in cifs_relock_file. Fix this by acquiring the semaphore for
reading in cifs_relock_file due to we don't make any changes in
locks and don't need a write access.
CC: <stable@vger.kernel.org>
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Pavel Shilovsky [Thu, 11 Jul 2013 06:58:30 +0000 (10:58 +0400)]
CIFS: Reopen the file if reconnect durable handle failed
This is a follow-on patch for 8/8 patch from the durable handles
series. It fixes the problem when durable file handle timeout
expired on the server and reopen returns -ENOENT for such files.
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Chandra Seetharaman [Wed, 10 Jul 2013 23:00:36 +0000 (18:00 -0500)]
xfs: Fix the logic check for all quotas being turned off
During the review of seperate pquota inode patches, David noticed
that the test to detect all quotas being turned off was
incorrect, and hence the block was not freeing all the quota
information.
The check made sense in Irix, but in Linux, quota is turned off
one at a time, which makes the test invalid for Linux.
This problem existed since XFS was ported to Linux.
David suggested to fix the problem by detecting when all quotas are
turned off by checking m_qflags.
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
Mingarelli, Thomas [Tue, 9 Jul 2013 23:04:55 +0000 (23:04 +0000)]
watchdog: hpwdt: Add check for UEFI bits
This patch is being created to use the UEFI bits in the type 219 SMBIOS
record in order to decide whether or not to execute BIOS code. This is a
better solution than to depend on the iCRU bit since not all future servers
will use iCRU.
Signed-off-by: Thomas Mingarelli <thomas.mingarelli@hp.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
----
drivers/watchdog/hpwdt.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
Kim, Milo [Tue, 26 Mar 2013 07:26:49 +0000 (07:26 +0000)]
watchdog: softdog: remove replaceable ping operation
In watchdog_ping(), 'start' is called automatically when 'ping' function call
is not configured.
Softdog driver has same handling in both cases - start and ping, so 'ping' OPS
can be removed.
Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Johannes Thumshirn [Tue, 18 Jun 2013 15:19:45 +0000 (17:19 +0200)]
watchdog: New watchdog driver for MEN A21 watchdogs
This patch adds the driver for the watchdog devices found on MEN Mikro
Elektronik A21 VMEbus CPU Carrier Boards. It has DT-support and uses the
watchdog framework.
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Russell King [Tue, 18 Jun 2013 16:20:32 +0000 (17:20 +0100)]
Watchdog: fix clearing of the watchdog interrupt
The bits in BRIDGE_CAUSE are documented as RW0C - read, write 0 to
clear. If we read the register, mask off the watchdog bit, and
write it back, we're actually clearing every interrupt which wasn't
pending at the time we read the register - and that is racy.
Fix this to only write ~WATCHDOG_BIT to the register, which means
we write as zero only the watchdog bit.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Russell King [Tue, 18 Jun 2013 16:19:32 +0000 (17:19 +0100)]
Watchdog: allow orion_wdt to be built for Dove
The watchdog infrastructure in Dove is no different from that in
Orion5x or Kirkwood, so let's enable it for Dove. The only things
missing are a few register settings in Dove's bridge-regs.h.
Rather than duplicating the same register bit masks for the RSTOUTn_MASK
and BRIDGE_CAUSE registers, move the definitions into the watchdog
driver itself.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Lubomir Rintel [Tue, 18 Jun 2013 17:44:48 +0000 (19:44 +0200)]
watchdog: Add Broadcom BCM2835 watchdog timer driver
This adds a driver for watchdog timer hardware present on Broadcom BCM2835 SoC,
used in Raspberry Pi and Roku 2 devices.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-watchdog@vger.kernel.org
Cc: devicetree-discuss@lists.ozlabs.org
Linus Torvalds [Thu, 11 Jul 2013 20:05:40 +0000 (13:05 -0700)]
Merge tag 'dm-3.11-changes' of git://git./linux/kernel/git/agk/linux-dm
Pull device-mapper changes from Alasdair G Kergon:
"Add a device-mapper target called dm-switch to provide a multipath
framework for storage arrays that dynamically reconfigure their
preferred paths for different device regions.
Fix a bug in the verity target that prevented its use with some
specific sizes of devices.
Improve some locking mechanisms in the device-mapper core and bufio.
Add Mike Snitzer as a device-mapper maintainer.
A few more clean-ups and fixes"
* tag 'dm-3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
dm: add switch target
dm: update maintainers
dm: optimize reorder structure
dm: optimize use SRCU and RCU
dm bufio: submit writes outside lock
dm cache: fix arm link errors with inline
dm verity: use __ffs and __fls
dm flakey: correct ctr alloc failure mesg
dm verity: remove pointless comparison
dm: use __GFP_HIGHMEM in __vmalloc
dm verity: fix inability to use a few specific devices sizes
dm ioctl: set noio flag to avoid __vmalloc deadlock
dm mpath: fix ioctl deadlock when no paths
Linus Torvalds [Thu, 11 Jul 2013 20:03:24 +0000 (13:03 -0700)]
Merge branch 'for-3.11/core' of git://git.kernel.dk/linux-block
Pull core block IO updates from Jens Axboe:
"Here are the core IO block bits for 3.11. It contains:
- A tweak to the reserved tag logic from Jan, for weirdo devices with
just 3 free tags. But for those it improves things substantially
for random writes.
- Periodic writeback fix from Jan. Marked for stable as well.
- Fix for a race condition in IO scheduler switching from Jianpeng.
- The hierarchical blk-cgroup support from Tejun. This is the grunt
of the series.
- blk-throttle fix from Vivek.
Just a note that I'm in the middle of a relocation, whole family is
flying out tomorrow. Hence I will be awal the remainder of this week,
but back at work again on Monday the 15th. CC'ing Tejun, since any
potential "surprises" will most likely be from the blk-cgroup work.
But it's been brewing for a while and sitting in my tree and
linux-next for a long time, so should be solid."
* 'for-3.11/core' of git://git.kernel.dk/linux-block: (36 commits)
elevator: Fix a race in elevator switching
block: Reserve only one queue tag for sync IO if only 3 tags are available
writeback: Fix periodic writeback after fs mount
blk-throttle: implement proper hierarchy support
blk-throttle: implement throtl_grp->has_rules[]
blk-throttle: Account for child group's start time in parent while bio climbs up
blk-throttle: add throtl_qnode for dispatch fairness
blk-throttle: make throtl_pending_timer_fn() ready for hierarchy
blk-throttle: make tg_dispatch_one_bio() ready for hierarchy
blk-throttle: make blk_throtl_bio() ready for hierarchy
blk-throttle: make blk_throtl_drain() ready for hierarchy
blk-throttle: dispatch from throtl_pending_timer_fn()
blk-throttle: implement dispatch looping
blk-throttle: separate out throtl_service_queue->pending_timer from throtl_data->dispatch_work
blk-throttle: set REQ_THROTTLED from throtl_charge_bio() and gate stats update with it
blk-throttle: implement sq_to_tg(), sq_to_td() and throtl_log()
blk-throttle: add throtl_service_queue->parent_sq
blk-throttle: generalize update_disptime optimization in blk_throtl_bio()
blk-throttle: dispatch to throtl_data->service_queue.bio_lists[]
blk-throttle: move bio_lists[] and friends to throtl_service_queue
...
Paolo Valente [Wed, 10 Jul 2013 13:46:09 +0000 (15:46 +0200)]
pkt_sched: sch_qfq: remove forward declaration of qfq_update_agg_ts
This patch removes the forward declaration of qfq_update_agg_ts, by moving
the definition of the function above its first call. This patch also
removes a useless forward declaration of qfq_schedule_agg.
Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: David S. Miller <davem@davemloft.net>
Paolo Valente [Wed, 10 Jul 2013 13:46:08 +0000 (15:46 +0200)]
pkt_sched: sch_qfq: improve efficiency of make_eligible
In make_eligible, a mask is used to decide which groups must become eligible:
the i-th group becomes eligible only if the i-th bit of the mask (from the
right) is set. The mask is computed by left-shifting a 1 by a given number of
places, and decrementing the result. The shift is performed on a ULL to avoid
problems in case the number of places to shift is higher than 31. On a 32-bit
machine, this is more costly than working on an UL. This patch replaces such a
costly operation with two cheaper branches.
The trick is based on the following fact: in case of a shift of at least 32
places, the resulting mask has at least the 32 less significant bits set,
whereas the total number of groups is lower than 32. As a consequence, in this
case it is enough to just set the 32 less significant bits of the mask with a
cheaper ~0UL. In the other case, the shift can be safely performed on a UL.
Reported-by: David S. Miller <davem@davemloft.net>
Reported-by: David Laight <David.Laight@ACULAB.COM>
Signed-off-by: Paolo Valente <paolo.valente@unimore.it>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Thu, 11 Jul 2013 19:57:19 +0000 (12:57 -0700)]
Merge branch 'for-next' of git://git./linux/kernel/git/nab/target-pending
Pull SCSI target updates from Nicholas Bellinger:
"Lots of activity this round on performance improvements in target-core
while benchmarking the prototype scsi-mq initiator code with
vhost-scsi fabric ports, along with a number of iscsi/iser-target
improvements and hardening fixes for exception path cases post v3.10
merge.
The highlights include:
- Make persistent reservations APTPL buffer allocated on-demand, and
drop per t10_reservation buffer. (grover)
- Make virtual LUN=0 a NULLIO device, and skip allocation of NULLIO
device pages (grover)
- Add transport_cmd_check_stop write_pending bit to avoid extra
access of ->t_state_lock is WRITE I/O submission fast-path. (nab)
- Drop unnecessary CMD_T_DEV_ACTIVE check from
transport_lun_remove_cmd to avoid extra access of ->t_state_lock in
release fast-path. (nab)
- Avoid extra t_state_lock access in __target_execute_cmd fast-path
(nab)
- Drop unnecessary vhost-scsi wait_for_tasks=true usage +
->t_state_lock access in release fast-path. (nab)
- Convert vhost-scsi to use modern se_cmd->cmd_kref
TARGET_SCF_ACK_KREF usage (nab)
- Add tracepoints for SCSI commands being processed (roland)
- Refactoring of iscsi-target handling of ISCSI_OP_NOOP +
ISCSI_OP_TEXT to be transport independent (nab)
- Add iscsi-target SendTargets=$IQN support for in-band discovery
(nab)
- Add iser-target support for in-band discovery (nab + Or)
- Add iscsi-target demo-mode TPG authentication context support (nab)
- Fix isert_put_reject payload buffer post (nab)
- Fix iscsit_add_reject* usage for iser (nab)
- Fix iscsit_sequence_cmd reject handling for iser (nab)
- Fix ISCSI_OP_SCSI_TMFUNC handling for iser (nab)
- Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED (nab)
The last five iscsi/iser-target items are CC'ed to stable, as they do
address issues present in v3.10 code. They are certainly larger than
I'd like for stable patch set, but are important to ensure proper
REJECT exception handling in iser-target for 3.10.y"
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (51 commits)
iser-target: Ignore non TEXT + LOGOUT opcodes for discovery
target: make queue_tm_rsp() return void
target: remove unused codes from enum tcm_tmrsp_table
iscsi-target: kstrtou* configfs attribute parameter cleanups
iscsi-target: Fix tfc_tpg_auth_cit configfs length overflow
iscsi-target: Fix tfc_tpg_nacl_auth_cit configfs length overflow
iser-target: Add support for ISCSI_OP_TEXT opcode + payload handling
iser-target: Rename sense_buf_[dma,len] to pdu_[dma,len]
iser-target: Add vendor_err debug output
target: Add (obsolete) checking for PMI/LBA fields in READ CAPACITY(10)
target: Return correct sense data for IO past the end of a device
target: Add tracepoints for SCSI commands being processed
iser-target: Fix session reset bug with RDMA_CM_EVENT_DISCONNECTED
iscsi-target: Fix ISCSI_OP_SCSI_TMFUNC handling for iser
iscsi-target: Fix iscsit_sequence_cmd reject handling for iser
iscsi-target: Fix iscsit_add_reject* usage for iser
iser-target: Fix isert_put_reject payload buffer post
iscsi-target: missing kfree() on error path
iscsi-target: Drop left-over iscsi_conn->bad_hdr
target: Make core_scsi3_update_and_write_aptpl return sense_reason_t
...
Viresh Kumar [Wed, 19 Jun 2013 15:08:58 +0000 (20:38 +0530)]
watchdog: delete mpcore_wdt driver
Interrupt request doesn't use the right API: The TWD watchdog uses a per-cpu
interrupt (usually interrupt #30), and the GIC configuration should flag it as
such. With this setup, request_irq() should fail, and the right API is
request_percpu_irq(), together with enable_percpu_irq()/disable_percpu_irq().
Nothing ensures the userspace ioctl() will end-up kicking the watchdog on the
right CPU.
There are no users of this driver since a long time and it makes more sense to
get rid of it as nobody is looking to fix it.
In case somebody wakes up after this has been removed and needs it, please
revert this driver and pick these updates (These were never pushed to mainline):
http://comments.gmane.org/gmane.linux.ports.arm.kernel/245998
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Michal Simek [Fri, 31 May 2013 05:56:34 +0000 (07:56 +0200)]
watchdog: xilinx: Setup the origin compatible string
Watchdog 1.01.a is also compatible with 1.00.a.
Add the origin version to compatible list.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Linus Torvalds [Thu, 11 Jul 2013 19:45:59 +0000 (12:45 -0700)]
Merge tag 'sound-3.11' of git://git./linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"A few small fixes (and cleanups) for HD-audio, USB-audio and ASoC"
* tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: usb-audio: fix regression for fixed stream quirk
ALSA: hda - Keep halting ALC5505 DSP
ASoC: wm8962: fix NULL pdata pointer
ASoC: imx-sgtl5000: return E_PROBE_DEFER if ssi/codec not found
ASoC: Samsung: Remove redundant comment
ALSA: hda - Fix EAPD vmaster hook for AD1884 & co
ASoC: samsung: Remove obsolete GPIO based DT pinmuxing
ASoC: mxs: register saif mclk to clock framework
Linus Torvalds [Thu, 11 Jul 2013 19:35:09 +0000 (12:35 -0700)]
Merge tag 'remoteproc-3.11-fixes' of git://git./linux/kernel/git/ohad/remoteproc
Pull remoteproc fixes from Ohad Ben-Cohen:
"Trivial remoteproc fixes by Suman Anna, Wei Yongjun and Thomas Meyer"
* tag 'remoteproc-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
remoteproc: Cocci spatch "memdup.spatch"
remoteproc: free carveout memories only after unmapping them
remoteproc/omap: fix a sparse warning
remoteproc: fix checkpatch errors in remoteproc code
remoteproc: fix error return code in rproc_fw_boot()
Linus Torvalds [Thu, 11 Jul 2013 19:30:33 +0000 (12:30 -0700)]
Merge tag 'xtensa-next-
20130710' of git://github.com/czankel/xtensa-linux
Pull Xtensa updates from Chris Zankel.
* tag 'xtensa-next-
20130710' of git://github.com/czankel/xtensa-linux: (22 commits)
xtensa: remove the second argument of __bio_kmap_atomic()
xtensa: add static function tracer support
xtensa: Flat DeviceTree copy not future-safe
xtensa: check TLB sanity on return to userspace
xtensa: adjust boot parameters address when INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX is selected
xtensa: bootparams: fix typo
xtensa: tell git to ignore generated .dtb files
xtensa: ccount based sched_clock
xtensa: ccount based clockevent implementation
xtensa: consolidate ccount access routines
xtensa: cleanup ccount frequency tracking
xtensa: timex.h: remove unused symbols
xtensa: tell git to ignore copied zlib source files
xtensa: fix section mismatch in pcibios_fixup_bus
xtensa: ISS: fix section mismatch in iss_net_setup
arch: xtensa: include: asm: compiling issue, need cmpxchg64() defined.
xtensa: xtfpga: fix section mismatch
xtensa: remove unused platform_init_irq()
xtensa: tell git to ignore generated files
xtensa: flush TLB entries for pages of non-current mm correctly
...
Linus Torvalds [Thu, 11 Jul 2013 19:28:17 +0000 (12:28 -0700)]
Merge tag 'pm+acpi-3.11-rc1-more' of git://git./linux/kernel/git/rafael/linux-pm
Pull more power management and ACPI updates from Rafael Wysocki:
- Fix for a recent cpufreq regression that caused WARN() to trigger
overzealously in a couple of places and spam the kernel log with
useless garbage as a result. From Viresh Kumar.
- ACPI dock fix removing a discrepancy between the definition of
acpi_dock_init(), which says that the function returns int, and its
header in the header file, which says that it is a void function.
The function is now defined as void too.
- ACPI PM fix for failures to update device power states as needed, for
example, during resume from system suspend, because the old state was
deeper than the new one, but the new one is not D0.
- Fix for two debug messages in the ACPI power resources code that
don't have a newline at the end and make the kernel log difficult to
read. From Mika Westerberg.
- Two ACPI cleanups from Naresh Bhat and Haicheng Li.
- cpupower updates from Thomas Renninger, including Intel Haswell
support improvements and a new idle-set subcommand among other
things.
* tag 'pm+acpi-3.11-rc1-more' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / power: add missing newline to debug messages
cpupower: Add Haswell family 0x45 specific idle monitor to show PC8,9,10 states
cpupower: Haswell also supports the C-states introduced with SandyBridge
cpupower: Introduce idle-set subcommand and C-state enabling/disabling
cpupower: Implement disabling of cstate interface
cpupower: Make idlestate usage unsigned
ACPI / fan: Initialize acpi_state variable
ACPI / scan: remove unused LIST_HEAD(acpi_device_list)
ACPI / dock: Actually define acpi_dock_init() as void
ACPI / PM: Fix corner case in acpi_bus_update_power()
cpufreq: Fix serialization of frequency transitions
Michal Simek [Fri, 31 May 2013 05:56:33 +0000 (07:56 +0200)]
watchdog: xilinx: Fix driver header
- Remove reference for IP version
- Fix header coding style
- Remove notes which are visible from the code
- Fix driver license according to header
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Andy Shevchenko [Tue, 28 May 2013 09:25:49 +0000 (12:25 +0300)]
watchdog: wdrtas: don't use custom version of print_hex_dump
Kernel has nice helpers to dump buffers.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Linus Torvalds [Thu, 11 Jul 2013 19:26:08 +0000 (12:26 -0700)]
Merge branch 'next' of git://git./linux/kernel/git/rzhang/linux
Pull thermal management updates from Zhang Rui:
"There are not too many changes this time, except two new platform
thermal drivers, ti-soc-thermal driver and x86_pkg_temp_thermal
driver, and a couple of small fixes.
Highlights:
- move the ti-soc-thermal driver out of the staging tree to the
thermal tree.
- introduce the x86_pkg_temp_thermal driver. This driver registers
CPU digital temperature package level sensor as a thermal zone.
- small fixes/cleanups including removing redundant use of
platform_set_drvdata() and of_match_ptr for all platform thermal
drivers"
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (34 commits)
thermal: cpu_cooling: fix stub function
thermal: ti-soc-thermal: use standard GPIO DT bindings
thermal: MAINTAINERS: Add git tree path for SoC specific updates
thermal: fix x86_pkg_temp_thermal.c build and Kconfig
Thermal: Documentation for x86 package temperature thermal driver
Thermal: CPU Package temperature thermal
thermal: consider emul_temperature while computing trend
thermal: ti-soc-thermal: add DT example for DRA752 chip
thermal: ti-soc-thermal: add dra752 chip to device table
thermal: ti-soc-thermal: add thermal data for DRA752 chips
thermal: ti-soc-thermal: remove usage of IS_ERR_OR_NULL
thermal: ti-soc-thermal: freeze FSM while computing trend
thermal: ti-soc-thermal: remove external heat while extrapolating hotspot
thermal: ti-soc-thermal: update DT reference for OMAP5430
x86, mcheck, therm_throt: Process package thresholds
thermal: cpu_cooling: fix 'descend' check in get_property()
Thermal: spear: Remove redundant use of of_match_ptr
Thermal: kirkwood: Remove redundant use of of_match_ptr
Thermal: dove: Remove redundant use of of_match_ptr
Thermal: armada: Remove redundant use of of_match_ptr
...
Alexander Duyck [Thu, 11 Jul 2013 00:05:06 +0000 (17:05 -0700)]
gso: Update tunnel segmentation to support Tx checksum offload
This change makes it so that the GRE and VXLAN tunnels can make use of Tx
checksum offload support provided by some drivers via the hw_enc_features.
Without this fix enabling GSO means sacrificing Tx checksum offload and
this actually leads to a performance regression as shown below:
Utilization
Send
Throughput local GSO
10^6bits/s % S state
6276.51 8.39 enabled
7123.52 8.42 disabled
To resolve this it was necessary to address two items. First
netif_skb_features needed to be updated so that it would correctly handle
the Trans Ether Bridging protocol without impacting the need to check for
Q-in-Q tagging. To do this it was necessary to update harmonize_features
so that it used skb_network_protocol instead of just using the outer
protocol.
Second it was necessary to update the GRE and UDP tunnel segmentation
offloads so that they would reset the encapsulation bit and inner header
offsets after the offload was complete.
As a result of this change I have seen the following results on a interface
with Tx checksum enabled for encapsulated frames:
Utilization
Send
Throughput local GSO
10^6bits/s % S state
7123.52 8.42 disabled
8321.75 5.43 enabled
v2: Instead of replacing refrence to skb->protocol with
skb_network_protocol just replace the protocol reference in
harmonize_features to allow for double VLAN tag checks.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Hector Palacios [Mon, 8 Apr 2013 15:06:32 +0000 (17:06 +0200)]
watchdog: core: don't try to stop device if not running
A watchdog device may be stopped from userspace using WDIOC_SETOPTIONS
ioctl and flag WDIOS_DISABLECARD. If the device is closed after this
operation, watchdog_release() is called and status bits checked for
stopping it. Besides, if the device has not been unregistered a critical
message "watchdog did not stop!" is printed, although the ioctl may have
successfully stopped it already.
Without the patch a user application sample code like this will successfully
stop the watchdog, but the kernel will output the message
"watchdog did not stop!":
wd_fd = open("/dev/watchdog", O_RDWR);
flags = WDIOS_DISABLECARD;
ioctl(wd_fd, WDIOC_SETOPTIONS, &flags);
close(wd_fd);
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Lars-Peter Clausen [Sun, 12 May 2013 18:04:03 +0000 (20:04 +0200)]
watchdog: jz4740: Pass device to clk_get
In preparation to switching the jz4740 clk driver to the common clk framework
make sure to pass the device to clk_get().
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Linus Torvalds [Thu, 11 Jul 2013 19:11:35 +0000 (12:11 -0700)]
Merge tag 'nfs-for-3.11-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull second set of NFS client updates from Trond Myklebust:
"This mainly contains some small readdir optimisations that had
dependencies on Al Viro's readdir rewrite. There is also a fix for a
nasty deadlock which surfaced earlier in this merge window.
Highlights include:
- Fix an_rpc pipefs regression that causes a deadlock on mount
- Readdir optimisations by Scott Mayhew and Jeff Layton
- clean up the rpc_pipefs dentry operation setup"
* tag 'nfs-for-3.11-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
SUNRPC: Fix a deadlock in rpc_client_register()
rpc_pipe: rpc_dir_inode_operations can be static
NFS: Allow nfs_updatepage to extend a write under additional circumstances
NFS: Make nfs_readdir revalidate less often
NFS: Make nfs_attribute_cache_expired() non-static
rpc_pipe: set dentry operations at d_alloc time
nfs: set verifier on existing dentries in nfs_prime_dcache
Sachin Kamat [Fri, 3 May 2013 20:11:18 +0000 (01:41 +0530)]
watchdog: twl4030: Remove redundant platform_set_drvdata()
Commit
0998d06310 (device-core: Ensure drvdata = NULL when no
driver is bound) removes the need to set driver data field to
NULL.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Timo Kokkonen <timo.t.kokkonen@nokia.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Sachin Kamat [Fri, 3 May 2013 20:11:15 +0000 (01:41 +0530)]
watchdog: mpcore: Remove redundant platform_set_drvdata()
Commit
0998d06310 (device-core: Ensure drvdata = NULL when no
driver is bound) removes the need to set driver data field to
NULL.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 23 May 2013 10:44:23 +0000 (19:44 +0900)]
watchdog: da9055: use platform_{get,set}_drvdata()
Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 23 May 2013 10:44:09 +0000 (19:44 +0900)]
watchdog: da9052: use platform_{get,set}_drvdata()
Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 23 May 2013 10:43:43 +0000 (19:43 +0900)]
watchdog: cpwd: use platform_{get,set}_drvdata()
Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 14 Mar 2013 01:31:21 +0000 (10:31 +0900)]
watchdog: s3c2410_wdt: convert s3c2410wdt to dev_pm_ops
Instead of using legacy suspend/resume methods, using newer
dev_pm_ops structure allows better control over power management.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 14 Mar 2013 01:30:21 +0000 (10:30 +0900)]
watchdog: s3c2410_wdt: use dev_err()/dev_info() instead of pr_err()/pr_info()
dev_err()/dev_info() are more preferred than pr_err()/pr_info().
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 23 May 2013 10:44:53 +0000 (19:44 +0900)]
watchdog: wm831x: use platform_{get,set}_drvdata()
Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Mon, 29 Apr 2013 09:31:20 +0000 (18:31 +0900)]
watchdog: wm831x_wdt: use devm_gpio_request_one()
Use devm_gpio_request_one() to make cleanup paths simpler.
Also, GPIOF_DIR_OUT | GPIOF_INIT_LOW is replaced with
GPIOF_OUT_INIT_LOW.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Mon, 29 Apr 2013 09:30:43 +0000 (18:30 +0900)]
watchdog: mtx1-wdt: use devm_gpio_request_one()
Use devm_gpio_request_one() to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Mon, 29 Apr 2013 09:16:49 +0000 (18:16 +0900)]
watchdog: sp805_wdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Sachin Kamat [Fri, 3 May 2013 20:11:16 +0000 (01:41 +0530)]
watchdog: shwdt: Remove redundant platform_set_drvdata()
Commit
0998d06310 (device-core: Ensure drvdata = NULL when no
driver is bound) removes the need to set driver data field to
NULL.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Camelia Groza [Thu, 11 Jul 2013 06:55:51 +0000 (09:55 +0300)]
inet: fix spacing in assignment
Found using checkpatch.pl
Signed-off-by: Camelia Groza <camelia.groza@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jingoo Han [Mon, 29 Apr 2013 09:16:33 +0000 (18:16 +0900)]
watchdog: shwdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Mon, 29 Apr 2013 09:16:14 +0000 (18:16 +0900)]
watchdog: pnx4008_wdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Mon, 29 Apr 2013 09:15:53 +0000 (18:15 +0900)]
watchdog: imx2_wdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Sachin Kamat [Tue, 14 May 2013 06:41:03 +0000 (12:11 +0530)]
watchdog: dw_wdt: Staticize local symbol
'dw_wdt_write' is used only in this file. Make it static.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
dingtianhong [Thu, 11 Jul 2013 11:04:06 +0000 (19:04 +0800)]
ifb: fix oops when loading the ifb failed
If __rtnl_link_register() return faild when loading the ifb, it will
take the wrong path and get oops, so fix it just like dummy.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
dingtianhong [Thu, 11 Jul 2013 11:04:02 +0000 (19:04 +0800)]
dummy: fix oops when loading the dummy failed
We rename the dummy in modprobe.conf like this:
install dummy0 /sbin/modprobe -o dummy0 --ignore-install dummy
install dummy1 /sbin/modprobe -o dummy1 --ignore-install dummy
We got oops when we run the command:
modprobe dummy0
modprobe dummy1
------------[ cut here ]------------
[ 3302.187584] BUG: unable to handle kernel NULL pointer dereference at
0000000000000008
[ 3302.195411] IP: [<
ffffffff813fe62a>] __rtnl_link_unregister+0x9a/0xd0
[ 3302.201844] PGD
85c94a067 PUD
8517bd067 PMD 0
[ 3302.206305] Oops: 0002 [#1] SMP
[ 3302.299737] task:
ffff88105ccea300 ti:
ffff880eba4a0000 task.ti:
ffff880eba4a0000
[ 3302.307186] RIP: 0010:[<
ffffffff813fe62a>] [<
ffffffff813fe62a>] __rtnl_link_unregister+0x9a/0xd0
[ 3302.316044] RSP: 0018:
ffff880eba4a1dd8 EFLAGS:
00010246
[ 3302.321332] RAX:
0000000000000000 RBX:
ffffffff81a9d738 RCX:
0000000000000002
[ 3302.328436] RDX:
0000000000000000 RSI:
ffffffffa04d602c RDI:
ffff880eba4a1dd8
[ 3302.335541] RBP:
ffff880eba4a1e18 R08:
dead000000200200 R09:
dead000000100100
[ 3302.342644] R10:
0000000000000080 R11:
0000000000000003 R12:
ffffffff81a9d788
[ 3302.349748] R13:
ffffffffa04d7020 R14:
ffffffff81a9d670 R15:
ffff880eba4a1dd8
[ 3302.364910] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 3302.370630] CR2:
0000000000000008 CR3:
000000085e15e000 CR4:
00000000000427e0
[ 3302.377734] DR0:
0000000000000003 DR1:
00000000000000b0 DR2:
0000000000000001
[ 3302.384838] DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
[ 3302.391940] Stack:
[ 3302.393944]
ffff880eba4a1dd8 ffff880eba4a1dd8 ffff880eba4a1e18 ffffffffa04d70c0
[ 3302.401350]
00000000ffffffef ffffffffa01a8000 0000000000000000 ffffffff816111c8
[ 3302.408758]
ffff880eba4a1e48 ffffffffa01a80be ffff880eba4a1e48 ffffffffa04d70c0
[ 3302.416164] Call Trace:
[ 3302.418605] [<
ffffffffa01a8000>] ? 0xffffffffa01a7fff
[ 3302.423727] [<
ffffffffa01a80be>] dummy_init_module+0xbe/0x1000 [dummy0]
[ 3302.430405] [<
ffffffffa01a8000>] ? 0xffffffffa01a7fff
[ 3302.435535] [<
ffffffff81000322>] do_one_initcall+0x152/0x1b0
[ 3302.441263] [<
ffffffff810ab24b>] do_init_module+0x7b/0x200
[ 3302.446824] [<
ffffffff810ad3d2>] load_module+0x4e2/0x530
[ 3302.452215] [<
ffffffff8127ae40>] ? ddebug_dyndbg_boot_param_cb+0x60/0x60
[ 3302.458979] [<
ffffffff810ad5f1>] SyS_init_module+0xd1/0x130
[ 3302.464627] [<
ffffffff814b9652>] system_call_fastpath+0x16/0x1b
[ 3302.490090] RIP [<
ffffffff813fe62a>] __rtnl_link_unregister+0x9a/0xd0
[ 3302.496607] RSP <
ffff880eba4a1dd8>
[ 3302.500084] CR2:
0000000000000008
[ 3302.503466] ---[ end trace
8342d49cd49f78ed ]---
The reason is that when loading dummy, if __rtnl_link_register() return failed,
the init_module should return and avoid take the wrong path.
Signed-off-by: Tan Xiaojun <tanxiaojun@huawei.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jingoo Han [Mon, 29 Apr 2013 09:15:26 +0000 (18:15 +0900)]
watchdog: dw_wdt: use devm_clk_get()
Use devm_clk_get() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 2 May 2013 05:52:16 +0000 (14:52 +0900)]
watchdog: ts72xx_wdt: use devm_*() functions
Use devm_*() functions to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Thu, 23 May 2013 10:44:38 +0000 (19:44 +0900)]
watchdog: riowd: use platform_{get,set}_drvdata()
Use the wrapper functions for getting and setting the driver data using
platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev,
so we can directly pass a struct platform_device.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Tue, 30 Apr 2013 05:01:59 +0000 (14:01 +0900)]
watchdog: riowd: use devm_kzalloc()
Use devm_kzalloc() to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Tue, 30 Apr 2013 05:01:41 +0000 (14:01 +0900)]
watchdog: rc32434_wdt: use devm_ioremap_nocache() functions
Use devm_ioremap_nocache() functions to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Tue, 30 Apr 2013 05:01:25 +0000 (14:01 +0900)]
watchdog: nuc900_wdt: use devm_*() functions
Use devm_*() functions to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Tue, 30 Apr 2013 05:00:49 +0000 (14:00 +0900)]
watchdog: mv64x60_wdt: use devm_ioremap()
Use devm_ioremap() to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Helmut Schaa [Thu, 11 Jul 2013 11:57:34 +0000 (13:57 +0200)]
drivers: net: phy: at803x: Add missing mdio device id
at803x supports Atheros 8030, 8031 and 8035 PHYs. 8031 was missing from
the mdio device id table.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jingoo Han [Tue, 30 Apr 2013 05:00:33 +0000 (14:00 +0900)]
watchdog: bcm63xx_wdt: use devm_ioremap_nocache()
Use devm_ioremap_nocache() to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Sachin Kamat [Fri, 3 May 2013 20:11:14 +0000 (01:41 +0530)]
watchdog: at32ap700x: Remove redundant platform_set_drvdata()
Commit
0998d06310 (device-core: Ensure drvdata = NULL when no
driver is bound) removes the need to set driver data field to
NULL.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Jingoo Han [Tue, 30 Apr 2013 04:59:48 +0000 (13:59 +0900)]
watchdog: at32ap700x_wdt: use devm_*() functions
Use devm_*() functions to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Hannes Frederic Sowa [Thu, 11 Jul 2013 10:43:42 +0000 (12:43 +0200)]
ipv6: fix route selection if kernel is not compiled with CONFIG_IPV6_ROUTER_PREF
This is a follow-up patch to
3630d40067a21d4dfbadc6002bb469ce26ac5d52
("ipv6: rt6_check_neigh should successfully verify neigh if no NUD
information are available").
Since the removal of rt->n in rt6_info we can end up with a dst ==
NULL in rt6_check_neigh. In case the kernel is not compiled with
CONFIG_IPV6_ROUTER_PREF we should also select a route with unkown
NUD state but we must not avoid doing round robin selection on routes
with the same target. So introduce and pass down a boolean ``do_rr'' to
indicate when we should update rt->rr_ptr. As soon as no route is valid
we do backtracking and do a lookup on a higher level in the fib trie.
v2:
a) Improved rt6_check_neigh logic (no need to create neighbour there)
and documented return values.
v3:
a) Introduce enum rt6_nud_state to get rid of the magic numbers
(thanks to David Miller).
b) Update and shorten commit message a bit to actualy reflect
the source.
Reported-by: Pierre Emeriaud <petrus.lt@gmail.com>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dmitry Kravkov [Thu, 11 Jul 2013 12:48:21 +0000 (15:48 +0300)]
bnx2x: fix tunneling CSUM calculation
Since commit
c957d09ffda417f6c8e3d1f10e2b05228607d6d7
"bnx2x: Remove sparse and coccinelle warnings"
driver provided wrong partial csum for HW in tunneing
scenarios.
Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Alexander Duyck <alexander.h.duyck@intel.com>
CC: Pravin Shelar <pshelar@nicira.com>
CC: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Tested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Maarten Lankhorst [Thu, 11 Jul 2013 13:53:21 +0000 (15:53 +0200)]
alx: fix lockdep annotation
Move spin_lock_init to be called before the spinlocks are used, preventing a lockdep splat.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pravin B Shelar [Thu, 11 Jul 2013 18:38:06 +0000 (11:38 -0700)]
vxlan: Fix kernel crash on rmmod.
vxlan exit module unregisters vxlan net and then it unregisters
rtnl ops which triggers vxlan_dellink() from __rtnl_kill_links().
vxlan_dellink() deletes vxlan-dev from vxlan_list which has
list-head in vxlan-net-struct but that is already gone due to
net-unregister. That is how we are getting following crash.
Following commit fixes the crash by fixing module exit path.
BUG: unable to handle kernel paging request at
ffff8804102c8000
IP: [<
ffffffff812cc5e9>] __list_del_entry+0x29/0xd0
PGD
2972067 PUD
83e019067 PMD
83df97067 PTE
80000004102c8060
Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
Modules linked in: ---
CPU: 19 PID: 6712 Comm: rmmod Tainted: GF 3.10.0+ #95
Hardware name: Dell Inc. PowerEdge R620/0KCKR5, BIOS 1.4.8 10/25/2012
task:
ffff88080c47c580 ti:
ffff88080ac50000 task.ti:
ffff88080ac50000
RIP: 0010:[<
ffffffff812cc5e9>] [<
ffffffff812cc5e9>]
__list_del_entry+0x29/0xd0
RSP: 0018:
ffff88080ac51e08 EFLAGS:
00010206
RAX:
ffff8804102c8000 RBX:
ffff88040f0d4b10 RCX:
dead000000200200
RDX:
ffff8804102c8000 RSI:
ffff88080ac51e58 RDI:
ffff88040f0d4b10
RBP:
ffff88080ac51e08 R08:
0000000000000001 R09:
2222222222222222
R10:
2222222222222222 R11:
2222222222222222 R12:
ffff88080ac51e58
R13:
ffffffffa07b8840 R14:
ffffffff81ae48c0 R15:
ffff88080ac51e58
FS:
00007f9ef105c700(0000) GS:
ffff88082a800000(0000)
knlGS:
0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
CR2:
ffff8804102c8000 CR3:
00000008227e5000 CR4:
00000000000407e0
DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
Stack:
ffff88080ac51e28 ffffffff812cc6a1 2222222222222222 ffff88040f0d4000
ffff88080ac51e48 ffffffffa07b3311 ffff88040f0d4000 ffffffff81ae49c8
ffff88080ac51e98 ffffffff81492fc2 ffff88080ac51e58 ffff88080ac51e58
Call Trace:
[<
ffffffff812cc6a1>] list_del+0x11/0x40
[<
ffffffffa07b3311>] vxlan_dellink+0x51/0x70 [vxlan]
[<
ffffffff81492fc2>] __rtnl_link_unregister+0xa2/0xb0
[<
ffffffff8149448e>] rtnl_link_unregister+0x1e/0x30
[<
ffffffffa07b7b7c>] vxlan_cleanup_module+0x1c/0x2f [vxlan]
[<
ffffffff810c9b31>] SyS_delete_module+0x1d1/0x2c0
[<
ffffffff812b8a0e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[<
ffffffff81582f42>] system_call_fastpath+0x16/0x1b
Code: eb 9f 55 48 8b 17 48 b9 00 01 10 00 00 00 ad de 48 8b 47 08 48 89
e5 48 39 ca 74 29 48 b9 00 02 20 00 00 00 ad de 48 39 c8 74 7a <4c> 8b
00 4c 39 c7 75 53 4c 8b 42 08 4c 39 c7 75 2b 48 89 42 08
RIP [<
ffffffff812cc5e9>] __list_del_entry+0x29/0xd0
RSP <
ffff88080ac51e08>
CR2:
ffff8804102c8000
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sasha Levin [Thu, 11 Jul 2013 17:16:54 +0000 (13:16 -0400)]
9p: fix off by one causing access violations and memory corruption
p9_release_pages() would attempt to dereference one value past the end of
pages[]. This would cause the following crashes:
[ 6293.171817] BUG: unable to handle kernel paging request at
ffff8807c96f3000
[ 6293.174146] IP: [<
ffffffff8412793b>] p9_release_pages+0x3b/0x60
[ 6293.176447] PGD
79c5067 PUD
82c1e3067 PMD
82c197067 PTE
80000007c96f3060
[ 6293.180060] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
[ 6293.180060] Modules linked in:
[ 6293.180060] CPU: 62 PID: 174043 Comm: modprobe Tainted: G W 3.10.0-next-
20130710-sasha #3954
[ 6293.180060] task:
ffff8807b803b000 ti:
ffff880787dde000 task.ti:
ffff880787dde000
[ 6293.180060] RIP: 0010:[<
ffffffff8412793b>] [<
ffffffff8412793b>] p9_release_pages+0x3b/0x60
[ 6293.214316] RSP: 0000:
ffff880787ddfc28 EFLAGS:
00010202
[ 6293.214316] RAX:
0000000000000001 RBX:
ffff8807c96f2ff8 RCX:
0000000000000000
[ 6293.222017] RDX:
ffff8807b803b000 RSI:
0000000000000001 RDI:
ffffea001c7e3d40
[ 6293.222017] RBP:
ffff880787ddfc48 R08:
0000000000000000 R09:
0000000000000000
[ 6293.222017] R10:
0000000000000001 R11:
0000000000000000 R12:
0000000000000001
[ 6293.222017] R13:
0000000000000001 R14:
ffff8807cc50c070 R15:
ffff8807cc50c070
[ 6293.222017] FS:
00007f572641d700(0000) GS:
ffff8807f3600000(0000) knlGS:
0000000000000000
[ 6293.256784] CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
[ 6293.256784] CR2:
ffff8807c96f3000 CR3:
00000007c8e81000 CR4:
00000000000006e0
[ 6293.256784] Stack:
[ 6293.256784]
ffff880787ddfcc8 ffff880787ddfcc8 0000000000000000 ffff880787ddfcc8
[ 6293.256784]
ffff880787ddfd48 ffffffff84128be8 ffff880700000002 0000000000000001
[ 6293.256784]
ffff8807b803b000 ffff880787ddfce0 0000100000000000 0000000000000000
[ 6293.256784] Call Trace:
[ 6293.256784] [<
ffffffff84128be8>] p9_virtio_zc_request+0x598/0x630
[ 6293.256784] [<
ffffffff8115c610>] ? wake_up_bit+0x40/0x40
[ 6293.256784] [<
ffffffff841209b1>] p9_client_zc_rpc+0x111/0x3a0
[ 6293.256784] [<
ffffffff81174b78>] ? sched_clock_cpu+0x108/0x120
[ 6293.256784] [<
ffffffff84122a21>] p9_client_read+0xe1/0x2c0
[ 6293.256784] [<
ffffffff81708a90>] v9fs_file_read+0x90/0xc0
[ 6293.256784] [<
ffffffff812bd073>] vfs_read+0xc3/0x130
[ 6293.256784] [<
ffffffff811a78bd>] ? trace_hardirqs_on+0xd/0x10
[ 6293.256784] [<
ffffffff812bd5a2>] SyS_read+0x62/0xa0
[ 6293.256784] [<
ffffffff841a1a00>] tracesys+0xdd/0xe2
[ 6293.256784] Code: 66 90 48 89 fb 41 89 f5 48 8b 3f 48 85 ff 74 29 85 f6 74 25 45 31 e4 66 0f 1f 84 00 00 00 00 00 e8 eb 14 12 fd 41 ff c4 49 63 c4 <48> 8b 3c c3 48 85 ff 74 05 45 39 e5 75 e7 48 83 c4 08 5b 41 5c
[ 6293.256784] RIP [<
ffffffff8412793b>] p9_release_pages+0x3b/0x60
[ 6293.256784] RSP <
ffff880787ddfc28>
[ 6293.256784] CR2:
ffff8807c96f3000
[ 6293.256784] ---[ end trace
50822ee72cd360fc ]---
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This page took 0.236177 seconds and 5 git commands to generate.