20 Jun, 2013
2 commits
-
The use of the 'readl' and 'writel' identifiers here causes build errors on
architectures where those are macros. This renames the fields to read32/write32
to avoid the problem.Reported-by: kbuild test robot
Signed-off-by: Arnd Bergmann
Acked-by: Alessandro Rubini
Signed-off-by: Greg Kroah-Hartman -
If we don't allocate "arr" then the cleanup path will dereference it and
oops.Signed-off-by: Dan Carpenter
Acked-by: Alessandro Rubini
Signed-off-by: Greg Kroah-Hartman
19 Jun, 2013
10 commits
-
If device is initialized from device tree, but has no interrupt
assigned, uio will still try to request and interrupt old way,
fails, and fails registration.This is wrong; don't try initializing irq using platform data if
device tree is available.Simplified code based on suggestion by Grant Likely.
Fixed memory leak in "irq can not be registered" error path.
Signed-off-by: Pavel Machek
Reported-by: Detlev Zundel
Signed-off-by: Greg Kroah-Hartman -
This adds ability to bind uio driver to given open firmware device
using command line option. Thus, userspace driver can be developed and
used without modifying the kernel.Signed-off-by: Pavel Machek
Tested-by: Detlev Zundel
Signed-off-by: Greg Kroah-Hartman -
This driver exports the memory area associated with the mezzanine card
as a misc device, so users can access registers.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This driver allows to reprogram the EEPROM in a mezzanine, to store
its own identifiers during manufacturing or to save other useful data.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This simple do-nothing mezzanine driver shows how to write a mezzanine
driver, that can also handle interrupts reported by the carrier.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This fake carrier is designed to help FMC users understand how a
carrier driver works, and to experiment the behaviour with EEPROM
reprogramming (with a mezzanine driver commited later). This carrier
can register up to 4 (fake) mezzanines.We have real carriers (both on PCI-E and VME), but they are bigger
things and are not part of this submission.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This is selected sections of the current manual for fmc-bus, as
developed outside of the kernel before submission.Like the other patches in this set, it corresponds to commit ab23167f of
the repository at ohwr.orgSigned-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Acked-by: Rob Landley
Signed-off-by: Greg Kroah-Hartman -
This module offers registration services for both carriers
(i.e. devices) and mezzanines (i.e. drivers). The matching for devices
and drivers is performed according to the IPMI standard for FRU
devices (Field Replaceable Units).The code includes support for parsing an SDB tree if present in the FPGA,
and dumping it for diagnostics. SDB is not mandatory.Files in this commit correspond to commit ab23167f in the master branch
of the project hosted on ohwr.org.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This hopefully will help point developers to the proper way that patches
should be submitted for inclusion in the stable kernel releases.Reported-by: David Howells
Acked-by: David Howells
Signed-off-by: Greg Kroah-Hartman -
Even if guest were compiled without SMP support, it could not assume that host
wasn't. So switch to use mb() instead of smp_mb() to force memory barriers for
UP guest.Signed-off-by: Jason Wang
Cc: Haiyang Zhang
Cc: stable
Signed-off-by: K. Y. Srinivasan
Signed-off-by: Greg Kroah-Hartman
18 Jun, 2013
16 commits
-
In Tegra30 any memory controller interrupt would cause an infinite loop in the
IRQ handler. Additionally, a garbage pointer was used to read the MC
status registers, which causes wrong values to be printed if a MC error
occurred.Signed-off-by: Tuomas Tynkkynen
Reviewed-by: Stephen Warren
Reviewed-by: Thierry Reding
Signed-off-by: Greg Kroah-Hartman -
In Tegra20 any memory controller interrupt would cause an
infinite loop in the IRQ handler.Signed-off-by: Tuomas Tynkkynen
Reviewed-by: Stephen Warren
Reviewed-by: Thierry Reding
Signed-off-by: Greg Kroah-Hartman -
Driver can work properly if device support driver HBM version
or driver can downgrade its supported HBM version levelSigned-off-by: Tomas Winkler
Signed-off-by: Greg Kroah-Hartman -
This typedef is unnecessary and should just be removed.
Signed-off-by: Joe Perches
Signed-off-by: Greg Kroah-Hartman -
The tsi148 driver can be configured to reserve a window for internal
use (as part of the error checking routine). The intialisation of this
window currently configures a set of attributes that are never used
as these are only ever used by the VME core and this window is not
advertised to the core.Remove configuration of these attributes.
Signed-off-by: Martyn Welch
Signed-off-by: Greg Kroah-Hartman -
The logic in the init routine for the TSI148 is inverted. It isn't switching
on the CR/CSR space when it should be and is reporting it's on when its not.Correct the logic to do the right thing.
Reported-by: De Roo, Steven
Signed-off-by: Martyn Welch
Signed-off-by: Greg Kroah-Hartman -
The TSI148 driver provides an optional mechanism for ensuring that errors
resulting from posted transfers are caught whilst still relevant. To do this
errors are stored in a link list. If bus errors are not checked, this list
would grow until available memory had been exhausted.Only store the errors in a link list if error detection is switched on.
Reported-by: De Roo, Steven
Signed-off-by: Martyn Welch
Signed-off-by: Greg Kroah-Hartman -
Patch removes unneeded check for resource since
devm_ioremap_resource do all for us.Signed-off-by: Alexander Shiyan
Acked-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman -
No dependencies of PCMCIA and ARCH_CLPS711X.
Signed-off-by: Alexander Shiyan
Signed-off-by: Greg Kroah-Hartman -
This set of headers comes from commit ab23167f (current master of the
project on ohwr.org). They define the basic data structures for FMC
and its SDB support.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This commit creates the drivers/fmc directory and puts the necessary
hooks for kbuild and kconfig. The code is currently a placeholder
that only registers an empty bus.Signed-off-by: Alessandro Rubini
Acked-by: Juan David Gonzalez Cobas
Acked-by: Emilio G. Cota
Acked-by: Samuel Iglesias Gonsalvez
Signed-off-by: Greg Kroah-Hartman -
This is the driver for the USB comparator built into the palmas chip. It
handles the various USB OTG events that can be generated by cable
insertion/removal.Signed-off-by: Graeme Gregory
Signed-off-by: Moiz Sonasath
Signed-off-by: Ruchika Kharwar
Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: George Cherian
[kishon@ti.com: adapted palmas usb driver to use the extcon framework]
Signed-off-by: Sebastien Guiriec
Signed-off-by: Chanwoo Choi
Signed-off-by: Myungjoo Ham
Signed-off-by: Greg Kroah-Hartman -
Added EXPORT_SYMBOL_GPL() for extcon_register_interest and
extcon_register_notifier in order to avoid undefined reference
error when building the consumer modules of extcon as _modules_.Signed-off-by: Kishon Vijay Abraham I
Signed-off-by: Lokesh Vutla
Signed-off-by: Chanwoo Choi
Signed-off-by: Myungjoo Ham
Signed-off-by: Greg Kroah-Hartman -
This patch change permission from read/write to only read.
The specific process in the user-space couldn't change the state
of cable when cable is attached or detached.
- /sys/class/extcon/[devine name]/stateSigned-off-by: Chanwoo Choi
Signed-off-by: Myungjoo Ham
Signed-off-by: Greg Kroah-Hartman -
Use errno and strerror() when logging errors to provide
more information.Signed-off-by: Tomas Hozza
Signed-off-by: K. Y. Srinivasan
Signed-off-by: Greg Kroah-Hartman -
We want the fixes in here.
16 Jun, 2013
3 commits
-
Pull ARM SoC fixes from Olof Johansson:
"These are a little later than I planned on since I got caught up with
handling merges for 3.11 most of the week.Another week, another batch of fixes for arm-soc platforms.
Again, nothing controversial. A few more than would be ideal, but all
are valid fixes. In particular the prima2 panic patch is critical
since it fixes a problem where multiplatform kernels panic on all but
prima2 hardware."* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms
ARM: prima2: fix incorrect panic usage
arm: mvebu: armada-xp-{gp,openblocks-ax3-4}: specify PCIe range
ARM: Kirkwood: handle mv88f6282 cpu in __kirkwood_variant().
ARM: omap3: clock: fix wrong container_of in clock36xx.c
ARM: dts: OMAP5: Fix missing PWM capability to timer nodes
ARM: dts: omap4-panda|sdp: Fix mux for twl6030 IRQ pin and msecure line
ARM: dts: AM33xx: Fix properties on gpmc node
arm: omap2: fix AM33xx hwmod infos for UART2
ARM: OMAP3: Fix iva2_pwrdm settings for 3703 -
Pull networking fixes from David Miller:
1) Fix RTNL locking in batman-adv, from Matthias Schiffer.
2) Don't allow non-passthrough macvlan devices to set NOPROMISC via
netlink, otherwise we can end up with corrupted promisc counter
values on the device. From Michael S Tsirkin.3) Fix stmmac driver build with debugging defines enabled, from Dinh
Nguyen.4) Make sure name string we give in socket address in AF_PACKET is NULL
terminated, from Daniel Borkmann.5) Fix leaking of two uninitialized bytes of memory to userspace in
l2tp, from Guillaume Nault.6) Clear IPCB(skb) before tunneling otherwise we touch dangling IP
options state and crash. From Saurabh Mohan.7) Fix suspend/resume for davinci_mdio by using suspend_late and
resume_early. From Mugunthan V N.8) Don't tag ip_tunnel_init_net and ip_tunnel_delete_net with
__net_{init,exit}, they can be called outside of those contexts.
From Eric Dumazet.9) Fix RX length error in sh_eth driver, from Yoshihiro Shimoda.
10) Fix missing sctp_outq initialization in some code paths of SCTP
stack, from Neil Horman.* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (21 commits)
sctp: fully initialize sctp_outq in sctp_outq_init
netiucv: Hold rtnl between name allocation and device registration.
tulip: Properly check dma mapping result
net: sh_eth: fix incorrect RX length error if R8A7740
ip_tunnel: remove __net_init/exit from exported functions
drivers: net: davinci_mdio: restore mdio clk divider in mdio resume
drivers: net: davinci_mdio: moving mdio resume earlier than cpsw ethernet driver
net/ipv4: ip_vti clear skb cb before tunneling.
tg3: Wait for boot code to finish after power on
l2tp: Fix sendmsg() return value
l2tp: Fix PPP header erasure and memory leak
bonding: fix igmp_retrans type and two related races
bonding: reset master mac on first enslave failure
packet: packet_getname_spkt: make sure string is always 0-terminated
net: ethernet: stmicro: stmmac: Fix compile error when STMMAC_XMIT_DEBUG used
be2net: Fix 32-bit DMA Mask handling
xen-netback: don't de-reference vif pointer after having called xenvif_put()
macvlan: don't touch promisc without passthrough
batman-adv: Don't handle address updates when bla is disabled
batman-adv: forward late OGMs from best next hop
...
15 Jun, 2013
9 commits
-
Pull powerpc fixes from Benjamin Herrenschmidt:
"So here are 3 fixes still for 3.10. Fixes are simple, bugs are nasty
(though not recent regressions, nasty enough) and all targeted at
stable"* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc: Fix missing/delayed calls to irq_work
powerpc: Fix emulation of illegal instructions on PowerNV platform
powerpc: Fix stack overflow crash in resume_kernel when ftracing -
Thanks to commit f91eb62f71b3 ("init: scream bloody murder if interrupts
are enabled too early"), "bloody murder" is now being screamed.With a MIPS OCTEON config, we use on_each_cpu() in our
irq_chip.irq_bus_sync_unlock() function. This gets called in early as a
result of the time_init() call. Because the !SMP version of
on_each_cpu() unconditionally enables irqs, we get:WARNING: at init/main.c:560 start_kernel+0x250/0x410()
Interrupts were enabled early
CPU: 0 PID: 0 Comm: swapper Not tainted 3.10.0-rc5-Cavium-Octeon+ #801
Call Trace:
show_stack+0x68/0x80
warn_slowpath_common+0x78/0xb0
warn_slowpath_fmt+0x38/0x48
start_kernel+0x250/0x410Suggested fix: Do what we already do in the SMP version of
on_each_cpu(), and use local_irq_save/local_irq_restore. Because we
need a flags variable, make it a static inline to avoid name space
issues.[ Change from v1: Convert on_each_cpu to a static inline function, add
#include to avoid build breakage on some files.on_each_cpu_mask() and on_each_cpu_cond() suffer the same problem as
on_each_cpu(), but they are not causing !SMP bugs for me, so I will
defer changing them to a less urgent patch. ]Signed-off-by: David Daney
Cc: Ralf Baechle
Cc: Andrew Morton
Signed-off-by: Linus Torvalds -
Pull VFS fixes from Al Viro:
"Several fixes + obvious cleanup (you've missed a couple of open-coded
can_lookup() back then)"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
snd_pcm_link(): fix a leak...
use can_lookup() instead of direct checks of ->i_op->lookup
move exit_task_namespaces() outside of exit_notify()
fput: task_work_add() can fail if the caller has passed exit_task_work()
ncpfs: fix rmdir returns Device or resource busy -
Pull xfs fixes from Ben Myers:
- Remove noisy warnings about experimental support which spams the logs
- Add padding to align directory and attr structures correctly
- Set block number on child buffer on a root btree split
- Disable verifiers during log recovery for non-CRC filesystems* tag 'for-linus-v3.10-rc6' of git://oss.sgi.com/xfs/xfs:
xfs: don't shutdown log recovery on validation errors
xfs: ensure btree root split sets blkno correctly
xfs: fix implicit padding in directory and attr CRC formats
xfs: don't emit v5 superblock warnings on write -
Pull char / misc fixes from Greg Kroah-Hartman:
"Here are some small mei driver fixes for 3.10-rc6 that fix some
reported problems"* tag 'char-misc-3.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
mei: me: clear interrupts on the resume path
mei: nfc: fix nfc device freeing
mei: init: Flush scheduled work before resetting the device -
Pull USB fixes from Greg Kroah-Hartman:
"Here are some small USB driver fixes that resolve some reported
problems for 3.10-rc6Nothing major, just 3 USB serial driver fixes, and two chipidea fixes"
* tag 'usb-3.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
usb: chipidea: fix id change handling
usb: chipidea: fix no transceiver case
USB: pl2303: fix device initialisation at open
USB: spcp8x5: fix device initialisation at open
USB: f81232: fix device initialisation at open -
When replaying interrupts (as a result of the interrupt occurring
while soft-disabled), in the case of the decrementer, we are exclusively
testing for a pending timer target. However we also use decrementer
interrupts to trigger the new "irq_work", which in this case would
be missed.This change the logic to force a replay in both cases of a timer
boundary reached and a decrementer interrupt having actually occurred
while disabled. The former test is still useful to catch cases where
a CPU having been hard-disabled for a long time completely misses the
interrupt due to a decrementer rollover.CC: [v3.4+]
Signed-off-by: Benjamin Herrenschmidt
Tested-by: Steven Rostedt -
Normally, the kernel emulates a few instructions that are unimplemented
on some processors (e.g. the old dcba instruction), or privileged (e.g.
mfpvr). The emulation of unimplemented instructions is currently not
working on the PowerNV platform. The reason is that on these machines,
unimplemented and illegal instructions cause a hypervisor emulation
assist interrupt, rather than a program interrupt as on older CPUs.
Our vector for the emulation assist interrupt just calls
program_check_exception() directly, without setting the bit in SRR1
that indicates an illegal instruction interrupt. This fixes it by
making the emulation assist interrupt set that bit before calling
program_check_interrupt(). With this, old programs that use no-longer
implemented instructions such as dcba now work again.CC:
Signed-off-by: Paul Mackerras
Signed-off-by: Benjamin Herrenschmidt -
It's possible for us to crash when running with ftrace enabled, eg:
Bad kernel stack pointer bffffd12 at c00000000000a454
cpu 0x3: Vector: 300 (Data Access) at [c00000000ffe3d40]
pc: c00000000000a454: resume_kernel+0x34/0x60
lr: c00000000000335c: performance_monitor_common+0x15c/0x180
sp: bffffd12
msr: 8000000000001032
dar: bffffd12
dsisr: 42000000If we look at current's stack (paca->__current->stack) we see it is
equal to c0000002ecab0000. Our stack is 16K, and comparing to
paca->kstack (c0000002ecab3e30) we can see that we have overflowed our
kernel stack. This leads to us writing over our struct thread_info, and
in this case we have corrupted thread_info->flags and set
_TIF_EMULATE_STACK_STORE.Dumping the stack we see:
3:mon> t c0000002ecab0000
[c0000002ecab0000] c00000000002131c .performance_monitor_exception+0x5c/0x70
[c0000002ecab0080] c00000000000335c performance_monitor_common+0x15c/0x180
--- Exception: f01 (Performance Monitor) at c0000000000fb2ec .trace_hardirqs_off+0x1c/0x30
[c0000002ecab0370] c00000000016fdb0 .trace_graph_entry+0xb0/0x280 (unreliable)
[c0000002ecab0410] c00000000003d038 .prepare_ftrace_return+0x98/0x130
[c0000002ecab04b0] c00000000000a920 .ftrace_graph_caller+0x14/0x28
[c0000002ecab0520] c0000000000d6b58 .idle_cpu+0x18/0x90
[c0000002ecab05a0] c00000000000a934 .return_to_handler+0x0/0x34
[c0000002ecab0620] c00000000001e660 .timer_interrupt+0x160/0x300
[c0000002ecab06d0] c0000000000025dc decrementer_common+0x15c/0x180
--- Exception: 901 (Decrementer) at c0000000000104d4 .arch_local_irq_restore+0x74/0xa0
[c0000002ecab09c0] c0000000000fe044 .trace_hardirqs_on+0x14/0x30 (unreliable)
[c0000002ecab0fb0] c00000000016fe3c .trace_graph_entry+0x13c/0x280
[c0000002ecab1050] c00000000003d038 .prepare_ftrace_return+0x98/0x130
[c0000002ecab10f0] c00000000000a920 .ftrace_graph_caller+0x14/0x28
[c0000002ecab1160] c0000000000161f0 .__ppc64_runlatch_on+0x10/0x40
[c0000002ecab11d0] c00000000000a934 .return_to_handler+0x0/0x34
--- Exception: 901 (Decrementer) at c0000000000104d4 .arch_local_irq_restore+0x74/0xa0... and so on
__ppc64_runlatch_on() is called from RUNLATCH_ON in the exception entry
path. At that point the irq state is not consistent, ie. interrupts are
hard disabled (by the exception entry), but the paca soft-enabled flag
may be out of sync.This leads to the local_irq_restore() in trace_graph_entry() actually
enabling interrupts, which we do not want. Because we have not yet
reprogrammed the decrementer we immediately take another decrementer
exception, and recurse.The fix is twofold. Firstly make sure we call DISABLE_INTS before
calling RUNLATCH_ON. The badly named DISABLE_INTS actually reconciles
the irq state in the paca with the hardware, making it safe again to
call local_irq_save/restore().Although that should be sufficient to fix the bug, we also mark the
runlatch routines as notrace. They are called very early in the
exception entry and we are asking for trouble tracing them. They are
also fairly uninteresting and tracing them just adds unnecessary
overhead.[ This regression was introduced by fe1952fc0afb9a2e4c79f103c08aef5d13db1873
"powerpc: Rework runlatch code" by myself --BenH
]CC: [v3.4+]
Signed-off-by: Michael Ellerman
Signed-off-by: Benjamin Herrenschmidt