aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-03-26drm/nvc0/fifo: mask unhandled intr bits when seen, rather than all intrsBen Skeggs1-2/+2
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nvc0/fifo: rename a couple of unitsBen Skeggs1-22/+22
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nvd0/disp: add debugging to show which supervisor actions are takenBen Skeggs1-1/+6
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50-/disp: dump channel state when update method failsBen Skeggs2-12/+81
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50-/disp: allow dumping core channel state at first supervisor intrBen Skeggs2-0/+4
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50-/disp: add method descriptions for debuggingBen Skeggs9-0/+1023
Lists of known methods for the DMA channel classes, and mappings to their priv register addresses (where known). Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50/disp: decode the known error codes to human readable formBen Skeggs1-20/+43
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50/disp: preparation for storing static class dataBen Skeggs20-121/+181
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau/core: extend width of engine mask for namedbBen Skeggs2-2/+2
Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau/bios: fix INDEX_ADDRESS_LATCHED trace printoutIlia Mirkin1-3/+2
Having a \n in the middle of a format string means that the next line doesn't get the prefixes unlike every other line printed by the trace. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50/gr: decode texture trap status codeIlia Mirkin1-0/+16
Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau: use nv_debug for NV_DEBUG, make DRM a separate subflagIlia Mirkin2-4/+3
It's really confusing for NV_DEBUG's printing to be controlled via drm.debug while everything else is controlled via nouveau.debug. These messages can be turned on with nouveau.debug=DRM=debug. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau: make hdmi device finding failure prints debug levelIlia Mirkin1-6/+5
The hdmi device is required for runtime pm. However it is not available on many esp older devices, which were all seeing these error messages. Take this opportunity to also convert to nv_debug instead of the DRM_* messages, like the rest of nouveau does. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nve0/fifo: allocate usermem as neededAlexandre Courbot1-2/+2
Memory was always allocated for 4096 channels. Change this to allocate what we actually need according to the number of channels we use. Signed-off-by: Alexandre Courbot <[email protected]> Reviewed-by: Thierry Reding <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau: handle -EACCES runtime PM return codeAlexandre Courbot3-4/+4
pm_runtime_get*() may return -EACCES to indicate a device does not have runtime PM enabled. This is currently the case with platform devices on Nouveau, and is not an error in that context. Handle this case without failure. Signed-off-by: Alexandre Courbot <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau/abi16: fix handles past the 32nd oneIlia Mirkin1-2/+2
abi16->handles is a u64, so make sure to use 1ULL << val when modifying. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau: replace ffsll with __ffs64Ilia Mirkin2-3/+3
The ffsll function is a lot slower than the __ffs64 built-in which compiles to a single instruction on 64-bit. It's also nice to avoid custom versions of standard functions. Note that __ffs == ffs - 1. Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau/hwmon: replace strict_strtol() with kstrtol()Jingoo Han1-2/+3
The usage of strict_strtol() is not preferred, because strict_strtol() is obsolete. Thus, kstrtol() should be used. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nouveau/hwmon: remove some redundant checksDan Carpenter1-8/+4
No need to check "ret" twice in a row. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-26drm/nv50/graph: update status enum namesIlia Mirkin1-14/+15
Signed-off-by: Ilia Mirkin <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-03-25tracing: Fix traceon trigger condition to actually turn tracing onSteven Rostedt (Red Hat)1-2/+25
While working on my tutorial for 2014 Linux Collaboration Summit I found that the traceon trigger did not work when conditions were used. The other triggers worked fine though. Looking into it, it is because of the way the triggers use the ring buffer to store the fields it will use for the condition. But if tracing is off, nothing is stored in the buffer, and the tracepoint exits before calling the trigger to test the condition. This is fine for all the triggers that only work when tracing is on, but for traceon trigger that is to work when tracing is off, nothing happens. The fix is simple, just use a temp ring buffer to record the event if tracing is off and the event has a trace event conditional trigger enabled. The rest of the tracepoint code will work just fine, but the tracepoint wont be recorded in the other buffers. Cc: Tom Zanussi <[email protected]> Signed-off-by: Steven Rostedt <[email protected]>
2014-03-25fs: remove now stale label in anon_inode_init()Linus Torvalds1-1/+0
The previous commit removed the register_filesystem() call and the associated error handling, but left the label for the error path that no longer exists. Remove that too. Signed-off-by: Linus Torvalds <[email protected]>
2014-03-25fs: Avoid userspace mounting anon_inodefs filesystemJan Kara1-3/+0
anon_inodefs filesystem is a kernel internal filesystem userspace shouldn't mess with. Remove registration of it so userspace cannot even try to mount it (which would fail anyway because the filesystem is MS_NOUSER). This fixes an oops triggered by trinity when it tried mounting anon_inodefs which overwrote anon_inode_inode pointer while other CPU has been in anon_inode_getfile() between ihold() and d_instantiate(). Thus effectively creating dentry pointing to an inode without holding a reference to it. Reported-by: Sasha Levin <[email protected]> Signed-off-by: Jan Kara <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2014-03-25Merge branch 'nfsd-next' of git://linux-nfs.org/~bfields/linuxLinus Torvalds1-0/+1
Pull nfsd fix frm Bruce Fields: "J R Okajima sent this early and I was just slow to pass it along, apologies. Fortunately it's a simple fix" * 'nfsd-next' of git://linux-nfs.org/~bfields/linux: nfsd: fix lost nfserrno() call in nfsd_setattr()
2014-03-25Merge branch 'for-linus' of ↵Linus Torvalds4-35/+21
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs fixes from Al Viro: "These four commits are obvious fixes (a couple of fdget_pos()-related ones from Eric Biggers, prepend_name() fix, missing checks for false negatives from __lookup_mnt() in fs/namei.c)" For now I'm pulling just the four obvious fixes, there's another four pending in Al's 'for-linus' branch wrt the mnt_hash list that were more involved. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: rcuwalk: recheck mount_lock after mountpoint crossing attempts make prepend_name() work correctly when called with negative *buflen vfs: Don't let __fdget_pos() get FMODE_PATH files vfs: atomic f_pos access in llseek()
2014-03-25drm/radeon: set PIPE_CONFIG for 1D and linear tiling modes on CIKMarek Olšák2-4/+26
This fixes fast color clear with 1D-tiled single-sample surfaces and Hyper-Z corruption with 1D-tiled depth surfaces. Even though it seems it is not needed for 1D tiling, CMASK and HTILE are always 2D-tiled, thus the hw needs to know the actual pipe configuration for CMASK and HTILE addressing no matter what the tiling mode of the surface is. Signed-off-by: Marek Olšák <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Christian König <[email protected]>
2014-03-25drm/radeon: use drm_dp_dpcd_read_link_status()Alex Deucher1-25/+5
Replace the radeon specific version with the generic version. Signed-off-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25drm/radeon: use the new drm helpers for dp auxAlex Deucher3-107/+104
Switch to the new dp helpers. The main difference is that the DP helpers don't allow an adjustable delay in the aux transaction, but I don't know that this is necessary. Signed-off-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25drm/dp: make aux retries less chattyAlex Deucher1-2/+2
Switch to debug only to avoid flooding the logs. This mirrors the behavior in some other drivers. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25drm/radeon: clarify special handling in i2c over auxAlex Deucher1-20/+16
We need a special packet for the start and end of the transaction. Signed-off-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25drm/radeon/atom: rework encoder enable/disable sequenceAlex Deucher1-48/+34
This more closely matches what the vbios does and also adds a quirk for travis lvds displays and powers down the sink on DP displays which saves some power and may fix display issues in some cases. Signed-off-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25drm/radeon/dp: move sink power control to a separate functionAlex Deucher2-5/+23
This will be used elsewhere. Signed-off-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25drm/radeon/dp: use i2c_get_adapdata rather than castingAlex Deucher1-1/+1
Minor code cleanup. Signed-off-by: Alex Deucher <[email protected]> Acked-by: Christian König <[email protected]>
2014-03-25Revert "xen: properly account for _PAGE_NUMA during xen pte translations"David Vrabel2-14/+4
This reverts commit a9c8e4beeeb64c22b84c803747487857fe424b68. PTEs in Xen PV guests must contain machine addresses if _PAGE_PRESENT is set and pseudo-physical addresses is _PAGE_PRESENT is clear. This is because during a domain save/restore (migration) the page table entries are "canonicalised" and uncanonicalised". i.e., MFNs are converted to PFNs during domain save so that on a restore the page table entries may be rewritten with the new MFNs on the destination. This canonicalisation is only done for PTEs that are present. This change resulted in writing PTEs with MFNs if _PAGE_PROTNONE (or _PAGE_NUMA) was set but _PAGE_PRESENT was clear. These PTEs would be migrated as-is which would result in unexpected behaviour in the destination domain. Either a) the MFN would be translated to the wrong PFN/page; b) setting the _PAGE_PRESENT bit would clear the PTE because the MFN is no longer owned by the domain; or c) the present bit would not get set. Symptoms include "Bad page" reports when munmapping after migrating a domain. Signed-off-by: David Vrabel <[email protected]> Acked-by: Konrad Rzeszutek Wilk <[email protected]> Cc: <[email protected]> [3.12+]
2014-03-25xen/balloon: flush persistent kmaps in correct positionWei Liu1-6/+18
Xen balloon driver will update ballooned out pages' P2M entries to point to scratch page for PV guests. In 24f69373e2 ("xen/balloon: don't alloc page while non-preemptible", kmap_flush_unused was moved after updating P2M table. In that case for 32 bit PV guest we might end up with P2M X -----> S (S is mfn of balloon scratch page) M2P Y -----> X (Y is mfn in persistent kmap entry) kmap_flush_unused() iterates through all the PTEs in the kmap address space, using pte_to_page() to obtain the page. If the p2m and the m2p are inconsistent the incorrect page is returned. This will clear page->address on the wrong page which may cause subsequent oopses if that page is currently kmap'ed. Move the flush back between get_page and __set_phys_to_machine to fix this. Signed-off-by: Wei Liu <[email protected]> Signed-off-by: David Vrabel <[email protected]> Cc: [email protected] # 3.12+
2014-03-24Linux 3.14-rc8Linus Torvalds1-1/+1
2014-03-24Merge branch 'parisc-3.14' of ↵Linus Torvalds6-84/+6
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: - revert parts of the latest patch regarding font selection with STICON console - wire up the utimes() syscall for parisc - remove the unused parisc tmpalias code and unnecessary arch*relax defines * 'parisc-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: locks: remove redundant arch_*_relax operations parisc: wire up sys_utimes parisc: Remove unused CONFIG_PARISC_TMPALIAS code partly revert commit 8a10bc9: parisc/sti_console: prefer Linux fonts over built-in ROM fonts
2014-03-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds7-43/+31
Pull sparc fixes from David Miller: 1) Do serial locking in a way that makes things clear that these are IRQ spinlocks. 2) Conversion to generic idle loop broke first generation Niagara machines, need to have %pil interrupts enabled during cpu yield hypervisor call. 3) Do not use magic constants for iterations over tsb tables, from Doug Wilson. 4) Fix erroneous truncation of 64-bit system call return values to 32-bit. From Dave Kleikamp. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Make sure %pil interrupts are enabled during hypervisor yield. sparc64:tsb.c:use array size macro rather than number sparc64: don't treat 64-bit syscall return codes as 32-bit sparc: serial: Clean up the locking for -rt
2014-03-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds47-306/+508
Pull networking fixes from David Miller: 1) OpenVswitch's lookup_datapath() returns error pointers, so don't check against NULL. From Jiri Pirko. 2) pfkey_compile_policy() code path tries to do a GFP_KERNEL allocation under RCU locks, fix by using GFP_ATOMIC when necessary. From Nikolay Aleksandrov. 3) phy_suspend() indirectly passes uninitialized data into the ethtool get wake-on-land implementations. Fix from Sebastian Hesselbarth. 4) CPSW driver unregisters CPTS twice, fix from Benedikt Spranger. 5) If SKB allocation of reply packet fails, vxlan's arp_reduce() defers a NULL pointer. Fix from David Stevens. 6) IPV6 neigh handling in vxlan doesn't validate the destination address properly, and it builds a packet with the src and dst reversed. Fix also from David Stevens. 7) Fix spinlock recursion during subscription failures in TIPC stack, from Erik Hugne. 8) Revert buggy conversion of davinci_emac to devm_request_irq, from Chrstian Riesch. 9) Wrong flags passed into forwarding database netlink notifications, from Nicolas Dichtel. 10) The netpoll neighbour soliciation handler checks wrong ethertype, needs to be ETH_P_IPV6 rather than ETH_P_ARP. Fix from Li RongQing. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (34 commits) tipc: fix spinlock recursion bug for failed subscriptions vxlan: fix nonfunctional neigh_reduce() net: davinci_emac: Fix rollback of emac_dev_open() net: davinci_emac: Replace devm_request_irq with request_irq netpoll: fix the skb check in pkt_is_ns net: micrel : ks8851-ml: add vdd-supply support ip6mr: fix mfc notification flags ipmr: fix mfc notification flags rtnetlink: fix fdb notification flags tcp: syncookies: do not use getnstimeofday() netlink: fix setsockopt in mmap examples in documentation openvswitch: Correctly report flow used times for first 5 minutes after boot. via-rhine: Disable device in error path ATHEROS-ATL1E: Convert iounmap to pci_iounmap vxlan: fix potential NULL dereference in arp_reduce() cnic: Update version to 2.5.20 and copyright year. cnic,bnx2i,bnx2fc: Fix inconsistent use of page size cnic: Use proper ulp_ops for per device operations. net: cdc_ncm: fix control message ordering ipv6: ip6_append_data_mtu do not handle the mtu of the second fragment properly ...
2014-03-24tipc: fix spinlock recursion bug for failed subscriptionsErik Hugne1-14/+15
If a topology event subscription fails for any reason, such as out of memory, max number reached or because we received an invalid request the correct behavior is to terminate the subscribers connection to the topology server. This is currently broken and produces the following oops: [27.953662] tipc: Subscription rejected, illegal request [27.955329] BUG: spinlock recursion on CPU#1, kworker/u4:0/6 [27.957066] lock: 0xffff88003c67f408, .magic: dead4ead, .owner: kworker/u4:0/6, .owner_cpu: 1 [27.958054] CPU: 1 PID: 6 Comm: kworker/u4:0 Not tainted 3.14.0-rc6+ #5 [27.960230] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [27.960874] Workqueue: tipc_rcv tipc_recv_work [tipc] [27.961430] ffff88003c67f408 ffff88003de27c18 ffffffff815c0207 ffff88003de1c050 [27.962292] ffff88003de27c38 ffffffff815beec5 ffff88003c67f408 ffffffff817f0a8a [27.963152] ffff88003de27c58 ffffffff815beeeb ffff88003c67f408 ffffffffa0013520 [27.964023] Call Trace: [27.964292] [<ffffffff815c0207>] dump_stack+0x45/0x56 [27.964874] [<ffffffff815beec5>] spin_dump+0x8c/0x91 [27.965420] [<ffffffff815beeeb>] spin_bug+0x21/0x26 [27.965995] [<ffffffff81083df6>] do_raw_spin_lock+0x116/0x140 [27.966631] [<ffffffff815c6215>] _raw_spin_lock_bh+0x15/0x20 [27.967256] [<ffffffffa0008540>] subscr_conn_shutdown_event+0x20/0xa0 [tipc] [27.968051] [<ffffffffa000fde4>] tipc_close_conn+0xa4/0xb0 [tipc] [27.968722] [<ffffffffa00101ba>] tipc_conn_terminate+0x1a/0x30 [tipc] [27.969436] [<ffffffffa00089a2>] subscr_conn_msg_event+0x1f2/0x2f0 [tipc] [27.970209] [<ffffffffa0010000>] tipc_receive_from_sock+0x90/0xf0 [tipc] [27.970972] [<ffffffffa000fa79>] tipc_recv_work+0x29/0x50 [tipc] [27.971633] [<ffffffff8105dbf5>] process_one_work+0x165/0x3e0 [27.972267] [<ffffffff8105e869>] worker_thread+0x119/0x3a0 [27.972896] [<ffffffff8105e750>] ? manage_workers.isra.25+0x2a0/0x2a0 [27.973622] [<ffffffff810648af>] kthread+0xdf/0x100 [27.974168] [<ffffffff810647d0>] ? kthread_create_on_node+0x1a0/0x1a0 [27.974893] [<ffffffff815ce13c>] ret_from_fork+0x7c/0xb0 [27.975466] [<ffffffff810647d0>] ? kthread_create_on_node+0x1a0/0x1a0 The recursion occurs when subscr_terminate tries to grab the subscriber lock, which is already taken by subscr_conn_msg_event. We fix this by checking if the request to establish a new subscription was successful, and if not we initiate termination of the subscriber after we have released the subscriber lock. Signed-off-by: Erik Hugne <[email protected]> Reviewed-by: Jon Maloy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24vxlan: fix nonfunctional neigh_reduce()David Stevens1-14/+113
The VXLAN neigh_reduce() code is completely non-functional since check-in. Specific errors: 1) The original code drops all packets with a multicast destination address, even though neighbor solicitations are sent to the solicited-node address, a multicast address. The code after this check was never run. 2) The neighbor table lookup used the IPv6 header destination, which is the solicited node address, rather than the target address from the neighbor solicitation. So neighbor lookups would always fail if it got this far. Also for L3MISSes. 3) The code calls ndisc_send_na(), which does a send on the tunnel device. The context for neigh_reduce() is the transmit path, vxlan_xmit(), where the host or a bridge-attached neighbor is trying to transmit a neighbor solicitation. To respond to it, the tunnel endpoint needs to do a *receive* of the appropriate neighbor advertisement. Doing a send, would only try to send the advertisement, encapsulated, to the remote destinations in the fdb -- hosts that definitely did not do the corresponding solicitation. 4) The code uses the tunnel endpoint IPv6 forwarding flag to determine the isrouter flag in the advertisement. This has nothing to do with whether or not the target is a router, and generally won't be set since the tunnel endpoint is bridging, not routing, traffic. The patch below creates a proxy neighbor advertisement to respond to neighbor solicitions as intended, providing proper IPv6 support for neighbor reduction. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24Merge branch 'davinci_emac'David S. Miller2-13/+44
Christian Riesch says: ==================== net: davinci_emac: Fix interrupt requests and error handling since commit 6892b41d9701283085b655c6086fb57a5d63fa47 (Linux 3.11) the davinci_emac driver is broken. After doing ifconfig down, ifconfig up, requesting the interrupts for the driver fails. The interface remains dead until the board is rebooted. The first patch in this patchset reverts commit 6892b41d9701283085b655c6086fb57a5d63fa47 partially and makes the driver useable again. During the work on the first patch, a number of bugs in the error handling of the driver's ndo_open code were found. The second patch fixes these bugs. I believe the first patch meets the rules for stable kernels, I therefore added the stable tag to this patch. The second patch is just cleanup, the code that is fixed by this patch is only executed in case of an error. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-03-24net: davinci_emac: Fix rollback of emac_dev_open()Christian Riesch2-17/+31
If an error occurs during the initialization in emac_dev_open() (the driver's ndo_open function), interrupts, DMA descriptors etc. must be freed. The current rollback code is buggy in several ways. 1) Freeing the interrupts. The current code will not free all interrupts that were requested by the driver. Furthermore, the code tries to do a platform_get_resource(priv->pdev, IORESOURCE_IRQ, -1) in its last iteration. This patch fixes these bugs. 2) Wrong order of err: and rollback: labels. If the setup of the PHY in the code fails, the interrupts that have been requested before are not freed: request irq if requesting irqs fails, goto rollback setup phy if phy setup fails, goto err return 0 rollback: free irqs err: This patch brings the code into the correct order. 3) The code calls napi_enable() and emac_int_enable(), but does not undo both in case of an error. This patch adds calls of emac_int_disable() and napi_disable() to the rollback code. 4) RX DMA descriptors are not freed in case of an error: Right before requesting the irqs, the function creates DMA descriptors for the RX channel. These RX descriptors are never freed when we jump to either rollback or err. This patch adds code for freeing the DMA descriptors in the case of an initialization error. This required a modification of cpdma_ctrl_stop() in davinci_cpdma.c: We must be able to call this function to free the DMA descriptors while the DMA channels are in IDLE state (before cpdma_ctlr_start() was called). Tested on a custom board with the Texas Instruments AM1808. Signed-off-by: Christian Riesch <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24net: davinci_emac: Replace devm_request_irq with request_irqChristian Riesch1-4/+21
In commit 6892b41d9701283085b655c6086fb57a5d63fa47 Author: Lad, Prabhakar <[email protected]> Date: Tue Jun 25 21:24:51 2013 +0530 net: davinci: emac: Convert to devm_* api the call of request_irq is replaced by devm_request_irq and the call of free_irq is removed. But since interrupts are requested in emac_dev_open, doing ifconfig up/down on the board requests the interrupts again each time, causing devm_request_irq to fail. The interface is dead until the device is rebooted. This patch reverts said commit partially: It changes the driver back to use request_irq instead of devm_request_irq, puts free_irq back in place, but keeps the remaining changes of the original patch. Reported-by: Jon Ringle <[email protected]> Signed-off-by: Christian Riesch <[email protected]> Cc: Lad, Prabhakar <[email protected]> Cc: <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24netpoll: fix the skb check in pkt_is_nsLi RongQing1-1/+1
Neighbor Solicitation is ipv6 protocol, so we should check skb->protocol with ETH_P_IPV6 Signed-off-by: Li RongQing <[email protected]> Cc: WANG Cong <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24sparc64: Make sure %pil interrupts are enabled during hypervisor yield.David S. Miller1-1/+3
In arch_cpu_idle() we must enable %pil based interrupts before potentially invoking the hypervisor cpu yield call. As per the Hypervisor API documentation for cpu_yield: Interrupts which are blocked by some mechanism other that pstate.ie (for example %pil) are not guaranteed to cause a return from this service. It seems that only first generation Niagara chips are hit by this bug. My best guess is that later chips implement this in hardware and wake up anyways from %pil events, whereas in first generation chips the yield is implemented completely in hypervisor code and requires %pil to be enabled in order to wake properly from this call. Fixes: 87fa05aeb3a5 ("sparc: Use generic idle loop") Reported-by: Fabio M. Di Nitto <[email protected]> Reported-by: Jan Engelhardt <[email protected]> Tested-by: Jan Engelhardt <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24i2c: cpm: Fix build by adding of_address.h and of_irq.hScott Wood1-0/+2
Fixes a build break due to the undeclared use of irq_of_parse_and_map() and of_iomap(). This build break was apparently introduced while the driver was unbuildable due to the bug fixed by 62c19c9d29e65086e5ae76df371ed2e6b23f00cd ("i2c: Remove usage of orphaned symbol OF_I2C"). When 62c19c was added in v3.14-rc7, the driver was enabled again, breaking the powerpc mpc85xx_defconfig and mpc85xx_smp_defconfig. 62c19c is marked for stable, so this should go there as well. Reported-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Scott Wood <[email protected]> Signed-off-by: Wolfram Sang <[email protected]> Cc: [email protected]
2014-03-24net: micrel : ks8851-ml: add vdd-supply supportNishanth Menon2-1/+30
Few platforms use external regulator to keep the ethernet MAC supplied. So, request and enable the regulator for driver functionality. Fixes: 66fda75f47dc (regulator: core: Replace direct ops->disable usage) Reported-by: Russell King <[email protected]> Suggested-by: Markus Pargmann <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-03-24drm/bridge/ptn3460: fix modular buildDave Airlie1-1/+1
This failed to build =m, quick fix. Signed-off-by: Dave Airlie <[email protected]>
2014-03-24Merge branch 'exynos-drm-next' of ↵Dave Airlie40-2331/+2761
git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Highlights ---------- Re-factoring works over the exynos drm framework. - drm_crtc, drm_encoder/drm_connector are implemented by sub drivers directly. - Removing pm interfaces from each sub driver, and implementing them at top level of exynos drm. Add DisplayPort Transmitter driver. - Just moving existing driver from drivers/vides/exynos into drivers/gpu/drm/exynos. Add new LVDS bridge driver, PTN3460. - Placed in drivers/gpu/drm/bridge, and this device is used to transfer image signal from DP(DisplayPort) to LVDS Panel. So this driver will be used with DP driver moved into exynos drm. Add parallel panel support - With the re-factoring patch series, existing parallel panel support was broken by moving exynos_drm_display ops into each real connector driver, DP. So this patch series adds a new parallel panel module, exynos_drm_dpi, for supporting parallel panel, and also adds relevant bindings. Some fixups and cleanups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (45 commits) drm/exynos: fimd: remove unused variable ARM: dts: exynos4210-universal: add exynos/fimd node drm/exynos: restore parallel output interface support exynos/fimd: add parallel output related bindings drm/exynos: correct timing porch conversion drm/exynos: init kms poll after creation of connectors drm/exynos: delay fbdev initialization until an output is connected drm/exynos: fix unnecessary resource cleanup drm/exynos: hdmi: use i2c_adapter instead of i2c_client drm/exynos: hdmi: consider APB PHY drm/exynos: Remove the exynos_drm_connector shim drm/exynos: Implement lvds bridge discovery to DP driver drm/bridge: Add PTN3460 bridge driver drm/exynos: Implement drm_connector directly in vidi driver drm/exynos: Implement drm_connector directly in dp driver drm/exynos: Implement drm_connector in hdmi directly drm/exynos: Add create_connector callback drm/exynos: Consolidate suspend/resume in drm_drv drm/exynos: Clean up FIMD power on/off routines drm/exynos: Implement dpms display callback in DP ...