aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-02-24watchdog: dw_wdt: Use watchdog core to install restart handlerGuenter Roeck1-16/+7
Use the infrastructure provided by the watchdog core to install the restart handler. Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: bcm2835_wdt: Use watchdog core to install restart handlerGuenter Roeck1-27/+30
Use the infrastructure provided by the watchdog core to install the restart handler. Acked-by: Eric Anholt <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: asm9260_wdt: Use watchdog core to install restart handlerGuenter Roeck1-15/+7
Use the infrastructure provided by the watchdog core to install the restart handler. Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: bcm47xx_wdt: Don't validate platform data on removeGuenter Roeck1-3/+0
Platform data was already validated in the probe function. If it was NULL, the remove function will never be called. Remove the unnecessary check. Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: iTCO_wdt: Simplify module init functionGuenter Roeck1-7/+1
The 'ret' variable in iTCO_wdt_init_module() does not add any value; drop it. Reviewed-by: Andy Shevchenko <[email protected]> Mika Westerberg <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: iTCO_wdt: Use pdev for platform device and pci_dev for pci deviceGuenter Roeck1-27/+26
Use pdev for struct platform_device, pci_dev for struct pci_dev, and dev for struct device variables to improve consistency. Remove 'struct platform_device *dev;' from struct iTCO_wdt_private since it was unused. Reviewed-by: Andy Shevchenko <[email protected]> Mika Westerberg <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: iTCO_wdt: Use device managed resourcesGuenter Roeck1-63/+17
Using device managed resources simplifies error handling and cleanup, and to reduce the likelyhood of errors. Reviewed-by: Andy Shevchenko <[email protected]> Mika Westerberg <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: iTCO_wdt: Use allocated data structuresGuenter Roeck1-197/+205
Allocate private data and the watchdog device to avoid having to clear it on remove and to enable subsequent simplifications. Reviewed-by: Andy Shevchenko <[email protected]> Mika Westerberg <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: orion: fix spelling mistake: "harcoded" -> "hardcoded"Colin Ian King1-1/+1
Trivial fix to spelling mistake in WARN message Signed-off-by: Colin Ian King <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: Enable COMPILE_TEST where possibleGuenter Roeck1-59/+59
Building all watchdog drivers is all but impossible since many depend on platforms which are not enabled by test builds. Add dependency on COMPILE_TEST where possible to improve the situation. Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: pnx833x_wdt: Mark as brokenGuenter Roeck1-0/+1
pnx833x_wdt does not compile if enabled. Bit operations expect an unsigned long as argument. If that is fixed, the build still fails because put_user, get_user, and copy_to_user are undefined. Mark it as broken. Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: nic7018_wdt: Add NIC7018 watchdog driverHui Chun Ong4-0/+281
Add support for the watchdog timer on PXI Embedded Controller. Signed-off-by: Hui Chun Ong <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: constify watchdog_info structuresBhumika Goyal12-12/+12
Declare watchdog_info structures as const as they are only stored in the info field of watchdog_device structures. This field is of type const struct watchdog_info *, so watchdog_info structures having this property can be declared const too. Done using Coccinelle: @r1 disable optional_qualifier@ identifier i; position p; @@ static struct watchdog_info i@p={...}; @ok@ identifier r1.i; position p; struct watchdog_device obj; @@ obj.info=&i@p; @bad@ position p!={r1.p,ok.p}; identifier r1.i; @@ i@p @depends on !bad disable optional_qualifier@ identifier r1.i; @@ +const struct watchdog_info i; Signed-off-by: Bhumika Goyal <[email protected]> Acked-by: Florian Fainelli <[email protected]> Acked-by: Baruch Siach <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Acked-by: Adam Thomson <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: pika_wdt: add __ro_after_init to identBhumika Goyal1-1/+1
The object ident of type watchdog_info structure is not modified after getting initialized by pikawdt_init. Apart from getting referenced in init it is also passed as an argument to the function copy_to_user but this argument is of type const void *. Therefore add __ro_after_init to its declaration. Signed-off-by: Bhumika Goyal <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: booke_wdt: add __ro_after_init to booke_wdt_infoBhumika Goyal1-1/+1
The object booke_wdt_info of watchdog_info structure is not modified after getting initialized by booke_wdt_init. Apart from getting referenced in init it is also stored in the info field of watchdog_device structure which is of type const struct watchdog_info *info. So, it becomes read only after init and therefore add __ro_after_init to it's declaration. Signed-off-by: Bhumika Goyal <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: sa11x0/pxa: fix error path of driver initializationVladimir Zapolskiy1-3/+5
The change corrects release of captured resources on error path, namely the clock is disabled and put if misc device registration fails and not enabled clock is not disabled now. Fixes: 6924089c488e ("watchdog: sa11x0/pxa: get rid of get_clock_tick_rate") Signed-off-by: Vladimir Zapolskiy <[email protected]> Acked-by: Robert Jarzmik <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Acked-by: Russell King <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24watchdog: update my email addressJohn Crispin3-5/+5
This patch updates my email address as I no longer have access to the old one. Signed-off-by: John Crispin <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2017-02-24sunrpc: flag transports as having congestion controlJeff Layton3-0/+10
NFSv4 requires a transport protocol with congestion control in most cases. On an IP network, that means that NFSv4 over UDP should be forbidden. The situation with RDMA is a bit more nuanced, but most RDMA transports are suitable for this. For now, we assume that all RDMA transports are suitable, but we may need to revise that at some point. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]>
2017-02-24sunrpc: turn bitfield flags in svc_version into boolsJeff Layton6-10/+9
It's just simpler to read this way, IMO. Also, no need to explicitly set vs_hidden to false in the nfsacl ones. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]>
2017-02-24nfsd: remove superfluous KERN_INFORasmus Villemoes1-1/+1
dprintk already provides a KERN_* prefix; this KERN_INFO just shows up as some odd characters in the output. Simplify the message a bit while we're there. Signed-off-by: Rasmus Villemoes <[email protected]> Signed-off-by: J. Bruce Fields <[email protected]>
2017-02-24dm-rq: don't dereference request payload after ending requestJens Axboe1-2/+4
Bart reported a case where dm would crash with use-after-free poison. This is due to dm_softirq_done() accessing memory associated with a request after calling end_request on it. This is most visible on !blk-mq, since we free the memory immediately for that case. Reported-by: Bart Van Assche <[email protected]> Suggested-by: Linus Torvalds <[email protected]> Fixes: eb8db831be80 ("dm: always defer request allocation to the owner of the request_queue") Signed-off-by: Jens Axboe <[email protected]>
2017-02-25openrisc: head: Init r0 to 0 on startStafford Horne1-1/+4
Originally openrisc spec 0 specified that r0 would be wired to ground. This is no longer the case. r0 is not guaranteed to be 0 at init, so we need to initialize it to 0 before using it. Also, if we are clearing r0 we cant use r0 to clear itself. Change the the CLEAR_GPR macro to use movhi for clearing. Reported-by: Jakob Viketoft <[email protected]> Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: Export ioremap symbols used by modulesStafford Horne1-0/+2
Noticed this when building with allyesconfig. Got build failures due to iounmap and __ioremap symbols missing. This patch exports them so modules can use them. This is inline with other architectures. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25arch/openrisc/lib/memcpy.c: use correct OR1200 optionValentin Rothberg1-1/+1
The Kconfig option for OR12000 is OR1K_1200. Signed-off-by: Valentin Rothberg <[email protected]> Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: head: Remove unused stringsStafford Horne1-11/+0
These string definitions are no longer used removed them. Noticed this while working on a CONFIG_DEBUG_INFO build issue. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: head: Move init strings to rodata sectionStafford Horne1-0/+1
The strings used during the head/init phase of openrisc bootup were stored in the executable section of the binary. This causes compilation to fail when using CONFIG_DEBUG_INFO with error: Error: unaligned opcodes detected in executable segment Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: entry: Fix delay slot detectionStafford Horne1-2/+2
Use execption SR stored in pt_regs for detection, the current SR is not correct as the handler is running after return from exception. Also, The code that checks for a delay slot uses a flag bitmask and then wants to check if the result is not zero. The test it implemented was wrong. Correct it by changing the test to check result against non zero. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: entry: Whitespace and comment cleanupsStafford Horne1-20/+18
Cleanups to whitespace and add some comments. Reading through the delay slot logic I noticed some things: - Delay slot instructions were not indented - Some comments are not lined up - Use tabs and spaces consistent with other code No functional change Signed-off-by: Stafford Horne <[email protected]>
2017-02-25scripts/checkstack.pl: Add openrisc supportStafford Horne1-0/+3
Openrisc stack pointer is managed by decrementing r1. Add regexes to recognize this. Signed-off-by: Stafford Horne <[email protected]>
2017-02-24drivers: net: xgene: Simplify xgene_enet_setup_mss() to kill warningGeert Uytterhoeven1-10/+3
With gcc-4.1.2 and -Os: drivers/net/ethernet/apm/xgene/xgene_enet_main.c: In function ‘xgene_enet_start_xmit’: drivers/net/ethernet/apm/xgene/xgene_enet_main.c:297: warning: ‘mss_index’ may be used uninitialized in this function Using a separate variable to track success may confuse the compiler. Preinitialize mss_index with -EBUSY and check for negative error values instead to kill the warning. Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2017-02-25MAINTAINERS: Add the openrisc official repositoryStafford Horne1-0/+1
The openrisc official repository and patch work happens currently on github. Add the repo for reference. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: Add .gitignoreStafford Horne1-0/+1
This helps to suppress the vmlinux.lds file. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: Add optimized memcpy routineStafford Horne4-2/+128
The generic memcpy routine provided in kernel does only byte copies. Using word copies we can lower boot time and cycles spend in memcpy quite significantly. Booting on my de0 nano I see boot times go from 7.2 to 5.6 seconds. The avg cycles in memcpy during boot go from 6467 to 1887. I tested several algorithms (see code in previous patch mails) The implementations I tested and avg cycles: - Word Copies + Loop Unrolls + Non Aligned 1882 - Word Copies + Loop Unrolls 1887 - Word Copies 2441 - Byte Copies + Loop Unrolls 6467 - Byte Copies 7600 In the end I ended up going with Word Copies + Loop Unrolls as it provides best tradeoff between simplicity and boot speedups. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: Add optimized memsetOlof Kindgren4-1/+107
This adds a hand-optimized assembler version of memset and sets __HAVE_ARCH_MEMSET to use this version instead of the generic C routine Signed-off-by: Olof Kindgren <[email protected]> Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: Initial support for the idle stateSebastian Macke1-0/+11
This patch adds basic support for the idle state of the cpu. The patch overrides the regular idle function, enables the interupts, checks for the power management unit and enables the cpu doze mode if available. Signed-off-by: Sebastian Macke <[email protected]> [[email protected]: Fixed checkpatch, blankline after declarations] Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: Fix the bitmask for the unit present registerSebastian Macke1-2/+2
The bits were swapped, as per spec and processor implementation the power management present bit is 9 and PIC bit is 8. This patch brings the definitions into spec. Signed-off-by: Sebastian Macke <[email protected]> [[email protected]: Added commit body] Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: remove unnecessary stddef.h includeStefan Kristiansson1-1/+0
This causes the build to fail when building with the or1k-musl-linux- toolchain and it is not needed. Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: add futex_atomic_* implementationsStefan Kristiansson2-1/+135
Support for the futex_atomic_* operations by using the load-link/store-conditional l.lwa/l.swa instructions. Most openrisc cores provide these instructions now if not available, emulation is provided. Acked-by: Peter Zijlstra (Intel) <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Stefan Kristiansson <[email protected]> [[email protected]: remove OPENRISC_HAVE_INST_LWA_SWA config suggesed by Alan Cox https://lkml.org/lkml/2014/7/23/666] Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: add optimized atomic operationsStefan Kristiansson3-1/+128
Using the l.lwa and l.swa atomic instruction pair. Most openrisc processor cores provide these instructions now. If the instructions are not available emulation is provided. Acked-by: Peter Zijlstra (Intel) <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Stefan Kristiansson <[email protected]> [[email protected]: remove OPENRISC_HAVE_INST_LWA_SWA config suggesed by Alan Cox https://lkml.org/lkml/2014/7/23/666] [[email protected]: expand to implement all ops suggested by Peter Zijlstra https://lkml.org/lkml/2017/2/20/317] Signed-off-by: Stafford Horne <[email protected]>
2017-02-25openrisc: add cmpxchg and xchg implementationsStefan Kristiansson2-2/+83
Optimized version that make use of the l.lwa and l.swa atomic instruction pair. Most openrisc cores provide these instructions now, if not available emulation is provided. Acked-by: Peter Zijlstra (Intel) <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Stefan Kristiansson <[email protected]> [[email protected]: remove OPENRISC_HAVE_INST_LWA_SWA config suggesed by Alan Cox https://lkml.org/lkml/2014/7/23/666] [[email protected]: fixed unused calculated value compiler warning in define cmpxchg] Signed-off-by: Stafford Horne <[email protected]>
2017-02-24rds: fix memory leak errorZhu Yanjun1-3/+4
When the function register_netdevice_notifier fails, the memory allocated by kmem_cache_create should be freed by the function kmem_cache_destroy. Cc: Joe Jin <[email protected]> Cc: Junxiao Bi <[email protected]> Signed-off-by: Zhu Yanjun <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Acked-by: Sowmini Varadhan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2017-02-25openrisc: add atomic bitopsStefan Kristiansson2-1/+124
This utilize the load-link/store-conditional l.lwa and l.swa instructions to implement the atomic bitops. When those instructions are not available emulation is provided. Acked-by: Peter Zijlstra (Intel) <[email protected]> Cc: Peter Zijlstra <[email protected]> Signed-off-by: Stefan Kristiansson <[email protected]> [[email protected]: remove OPENRISC_HAVE_INST_LWA_SWA config suggesed by Alan Cox https://lkml.org/lkml/2014/7/23/666, implement test_and_change_bit] Signed-off-by: Stafford Horne <[email protected]>
2017-02-24vxlan: don't allow overwrite of config src addrBrian Russell1-7/+5
When using IPv6 transport and a default dst, a pointer to the configured source address is passed into the route lookup. If no source address is configured, then the value is overwritten. IPv6 route lookup ignores egress ifindex match if the source address is set, so if egress ifindex match is desired, the source address must be passed as any. The overwrite breaks this for subsequent lookups. Avoid this by copying the configured address to an existing stack variable and pass a pointer to that instead. Fixes: 272d96a5ab10 ("net: vxlan: lwt: Use source ip address during route lookup.") Signed-off-by: Brian Russell <[email protected]> Acked-by: Jiri Benc <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2017-02-24libceph, rbd, ceph: WRITE | ONDISK -> WRITEIlya Dryomov5-35/+21
CEPH_OSD_FLAG_ONDISK is set in account_request(). Signed-off-by: Ilya Dryomov <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Reviewed-by: Sage Weil <[email protected]>
2017-02-24libceph: get rid of ack vs commitIlya Dryomov2-92/+27
- CEPH_OSD_FLAG_ACK shouldn't be set anymore, so assert on it - remove support for handling ack replies (OSDs will send ack replies only if clients request them) - drop the "do lingering callbacks under osd->lock" logic from handle_reply() -- lreq->lock is sufficient in all three cases Signed-off-by: Ilya Dryomov <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Reviewed-by: Sage Weil <[email protected]>
2017-02-24ceph: remove special ack vs commit behaviorIlya Dryomov6-103/+3
- ask for a commit reply instead of an ack reply in __ceph_pool_perm_get() - don't ask for both ack and commit replies in ceph_sync_write() - since just only one reply is requested now, i_unsafe_writes list will always be empty -- kill ceph_sync_write_wait() and go back to a standard ->evict_inode() Signed-off-by: Ilya Dryomov <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Reviewed-by: Sage Weil <[email protected]>
2017-02-24vti6: return GRE_KEY for vti6David Forster1-0/+4
Align vti6 with vti by returning GRE_KEY flag. This enables iproute2 to display tunnel keys on "ip -6 tunnel show" Signed-off-by: David Forster <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2017-02-24rxrpc: Fix an assertion in rxrpc_read()Marc Dionne1-1/+1
In the rxrpc_read() function, which allows a user to read the contents of a key, we miscalculate the expected length of an encoded rxkad token by not taking into account the key length. However, the data is stored later anyway with an ENCODE_DATA() call - and an assertion failure then ensues when the lengths are checked at the end. Fix this by including the key length in the token size estimation. The following assertion is produced: Assertion failed - 384(0x180) == 380(0x17c) is false ------------[ cut here ]------------ kernel BUG at ../net/rxrpc/key.c:1221! invalid opcode: 0000 [#1] SMP Modules linked in: CPU: 2 PID: 2957 Comm: keyctl Not tainted 4.10.0-fscache+ #483 Hardware name: ASUS All Series/H97-PLUS, BIOS 2306 10/09/2014 task: ffff8804013a8500 task.stack: ffff8804013ac000 RIP: 0010:rxrpc_read+0x10de/0x11b6 RSP: 0018:ffff8804013afe48 EFLAGS: 00010296 RAX: 000000000000003b RBX: 0000000000000003 RCX: 0000000000000000 RDX: 0000000000040001 RSI: 00000000000000f6 RDI: 0000000000000300 RBP: ffff8804013afed8 R08: 0000000000000001 R09: 0000000000000001 R10: ffff8804013afd90 R11: 0000000000000002 R12: 00005575f7c911b4 R13: 00005575f7c911b3 R14: 0000000000000157 R15: ffff880408a5d640 FS: 00007f8dfbc73700(0000) GS:ffff88041fb00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005575f7c91008 CR3: 000000040120a000 CR4: 00000000001406e0 Call Trace: keyctl_read_key+0xb6/0xd7 SyS_keyctl+0x83/0xe7 do_syscall_64+0x80/0x191 entry_SYSCALL64_slow_path+0x25/0x25 Signed-off-by: Marc Dionne <[email protected]> Signed-off-by: David Howells <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2017-02-24net: phy: Add missing driver check in phy_aneg_done()Florian Fainelli1-1/+1
Dan's static checker caught a potential code path in phy_state_machine() where we were not checking phydev->drv which is in phy_aneg_done(). Reported-by: Dan Carpenter <[email protected]> Fixes: 25149ef9d25c ("net: phy: Check phydev->drv") Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2017-02-24vxlan: correctly validate VXLAN ID against VXLAN_N_VIDMatthias Schiffer1-1/+1
The incorrect check caused an off-by-one error: the maximum VID 0xffffff was unusable. Fixes: d342894c5d2f ("vxlan: virtual extensible lan") Signed-off-by: Matthias Schiffer <[email protected]> Acked-by: Jiri Benc <[email protected]> Signed-off-by: David S. Miller <[email protected]>