aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-10-23drm/radeon: remove set_page check from VM codeChristian König1-2/+1
It's better to handle this in the chipset specific code. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2012-10-23drm/radeon: fix si_set_page v2Christian König1-19/+24
Handle requests that won't fit into a single packet. v2: pe needs to increase as well. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2012-10-23drm/radeon: fix cayman_vm_set_page v2Christian König1-18/+23
Handle requests that won't fit into a single packet. v2: pe needs to increase as well. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2012-10-23drm/radeon: fix PFP sync in vm_flushChristian König3-0/+9
Otherwise the next IB might start reading commands with the page table still invalid. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2012-10-23drm/radeon: add error output if VM CS fails on caymanAlex Deucher1-0/+1
So we know why the CS was rejected. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2012-10-23drm/radeon: give each backlight a unique idAlex Deucher2-2/+8
In cases where we have multiple radeons with backlight controls. Should fix: https://bugzilla.kernel.org/show_bug.cgi?id=48941 Signed-off-by: Alex Deucher <[email protected]>
2012-10-23drm/radeon: fix sparse warningAlex Deucher1-1/+1
Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2012-10-23drm/radeon: add some new SI PCI idsAlex Deucher1-0/+3
Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2012-10-23arch/tile: avoid build warnings from duplicate ELF_R_xxx #definesChris Metcalf1-10/+0
These are now provided in <asm-generic/module.h>, so clean up warnings by not re-defining them in module.c. Signed-off-by: Chris Metcalf <[email protected]> Acked-by: Rusty Russell <[email protected]>
2012-10-23arch/tile: avoid generating .eh_frame information in modulesChris Metcalf1-0/+4
The tile tool chain uses the .eh_frame information for backtracing. The vmlinux build drops any .eh_frame sections at link time, but when present in kernel modules, it causes a module load failure due to the presence of unsupported pc-relative relocations. When compiling to use compiler feedback support, the compiler by default omits .eh_frame information, so we don't see this problem. But when not using feedback, we need to explicitly suppress the .eh_frame. Signed-off-by: Chris Metcalf <[email protected]> Cc: [email protected]
2012-10-23Btrfs: fix a tree mod logging issue for root replacement operationsJan Schmidt1-8/+2
Avoid the implicit free by tree_mod_log_set_root_pointer, which is wrong in two places. Where needed, we call tree_mod_log_free_eb explicitly now. Signed-off-by: Jan Schmidt <[email protected]>
2012-10-23Btrfs: don't put removals from push_node_left into tree mod log twiceJan Schmidt1-2/+7
Independant of the check (push_items < src_items) tree_mod_log_eb_copy did log the removal of the old data entries from the source buffer. Therefore, we must not call tree_mod_log_eb_move if the check evaluates to true, as that would log the removal twice, finally resulting in (rewinded) buffers with wrong values for header_nritems. Signed-off-by: Jan Schmidt <[email protected]>
2012-10-23spi/pl022: Revert recent runtime PM changesUlf Hansson1-3/+0
[Originally sent by Ulf as two changes, squashed down into one with a redone changelog, thanks to Russell King for analysis. -- broonie] This reverts commit 688723 (spi/pl022: enable runtime PM) and commit 2fb30d (spi/pl022: fix spi-pl022 pm enable at probe). Commit "spi/pl022: enable runtime PM" introduced runtime PM issues as it interacted badly with the work Russell King had done to move core runtime PM handling into the bus. Due to that commit, "spi/pl022: fix spi-pl022 pm enable at probe" was merged to fix part of those issues. Instead of adding another fix, let's clean up and revert everything back to when it was already fine. Signed-off-by: Ulf Hansson <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Mark Brown <[email protected]> Revert "spi/pl022: enable runtime PM" Conflicts: drivers/spi/spi-pl022.c
2012-10-23ARM: dma-mapping: support debug_dma_mapping_errorMing Lei1-0/+1
Without the patch, kind of below warning will be dumped if DMA-API debug is enabled: [ 11.069763] ------------[ cut here ]------------ [ 11.074645] WARNING: at lib/dma-debug.c:948 check_unmap+0x770/0x860() [ 11.081420] ehci-omap ehci-omap.0: DMA-API: device driver failed to check map error[device address=0x0000000 0adb78e80] [size=8 bytes] [mapped as single] [ 11.095611] Modules linked in: Cc: Russell King <[email protected]> Cc: Marek Szyprowski <[email protected]> Signed-off-by: Ming Lei <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]>
2012-10-23mm: cma: alloc_contig_range: return early for err pathBob Liu1-1/+1
If start_isolate_page_range() failed, unset_migratetype_isolate() has been done inside it. Signed-off-by: Bob Liu <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]>
2012-10-23drivers: cma: Fix wrong CMA selected region size default valueLaurent Pinchart1-1/+1
Kconfig lists CMA_SIZE_SEL_ABSOLUTE as the default value fo the CMA selected region size, but that option isn't available in the defined choices. Set the default to CMA_SIZE_SEL_MBYTES instead. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]>
2012-10-23drivers: dma-coherent: Fix typo in dma_mmap_from_coherent documentationLaurent Pinchart1-3/+2
The function documentation incorrectly references dma_release_coherent. Fix it. Don't mention a specific function name as dma_mmap_from_coherent as multiple callers. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]>
2012-10-23drivers: dma-contiguous: Don't redefine SZ_1MLaurent Pinchart1-4/+1
Use the definition from linux/sizes.h instead. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]>
2012-10-23pinctrl/nomadik: pass DT node to the irqdomainLinus Walleij1-1/+1
When creating the simple irqdomain, pass the DT node pointer along, as is apropriate. Acked-by: Lee Jones <[email protected]> Reported-by: Gabriel Fernandez <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-10-23pinctrl/nomadik: use zero as default irq_startLinus Walleij1-1/+1
The irqdomain semantics were supposed to be such that a linear domain would be used if the passed first_irq was zero or negative, but I got it wrong so only passing zero as first_irq will work properly. Well, zero is NO_IRQ these days so let's pass zero. The semantics of irqdomain_add_simple() will be fixed in a separate patch. Acked-by: Lee Jones <[email protected]> Reported-by: Rikard Olsson <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-10-23pinctrl: fix missing unlock on error in pinctrl_groups_show()Wei Yongjun1-1/+3
Add the missing unlock on the error handle path in function pinctrl_groups_show(). Cc: [email protected] Signed-off-by: Wei Yongjun <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-10-23pinctrl/nomadik: use irq_create_mapping()Linus Walleij1-1/+1
Since in the DT case, the linear domain path will not allocate descriptors for the IRQs, we need to use irq_create_mapping() for mapping hwirqs to Linux IRQs, so these descriptors get created on-the-fly in this case. ChangeLog v1->v2: - Just use irq_create_mapping() in the .to_irq function since this is called before unmasking or enabling any interrupt lines, so irq_find_mapping() should be sufficient for the IRQ handler function. Cc: Lee Jones <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-10-23extcon : register for cable interest by cable nameJenny TC1-10/+34
There are some scnearios where a driver/framework needs to register interest for a particular cable without specifying the extcon device name. One such scenario is charger notifications. The platform will have charger cabel which will be bound to any extcon device. It's not mandatory for the charger driver to know which extcon device it should use. This patch enables the support for registering interest for a cable just by cable name wihtout specifying the extcon device name Signed-off-by: Jenny TC <[email protected]> Signed-off-by: MyungJoo Ham <[email protected]> Tested-by: Chanwoo Choi <[email protected]> -- Kernel-doc comment added by MyungJoo Ham
2012-10-23extcon: trivial: kfree missed from remove pathanish kumar1-0/+1
Extcon core doesn't free the memory when we do unregister. Kfree is added in the remove path as it was missing. Signed-off-by: anish kumar <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]> Signed-off-by: MyungJoo Ham <[email protected]>
2012-10-23extcon: driver model release call not neededanish kumar1-40/+35
There was a case where free and list_del can be called twice on the same pointer.So fixed it by re-arranging the code and removing a function which was not needed. Signed-off-by: anish kumar <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]> Signed-off-by: MyungJoo Ham <[email protected]>
2012-10-23extcon: MAX77693: Add platform data for MUIC device to initialize registersChanwoo Choi2-0/+40
This patch add platform data for MUIC device to initialize register on probe() call because it should unmask interrupt mask register and initialize some register related to MUIC device. Signed-off-by: Chanwoo Choi <[email protected]> Signed-off-by: Myungjoo Ham <[email protected]> Signed-off-by: Kyungmin Park <[email protected]>
2012-10-23extcon: max77693: Use max77693_update_reg for rmw operationsAxel Lin1-12/+6
This simplifies the code. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23extcon: Fix kerneldoc for extcon_set_cable_state and extcon_set_cable_state_Axel Lin1-2/+2
Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23extcon: adc-jack: Add missing MODULE_LICENSEAxel Lin1-0/+5
This driver can be built as a module, add MODULE_LICENSE for it. For completeness, also adds MODULE_AUTHOR and MODULE_DESCRIPTION. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23extcon: adc-jack: Fix checking return value of request_any_context_irqAxel Lin1-3/+2
On failure, request_any_context_irq() returns a negative value. On success, it returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED. Also ensure adc_jack_probe() return 0 on success. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23extcon: Fix return value in extcon_register_interest()Sachin Kamat1-1/+1
Propagate the value returned from extcon_find_cable_index() instead of -ENODEV. For readability, -EINVAL is returned in place of the variable. Signed-off-by: Sachin Kamat <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23extcon: unregister compat link on cleanupPeter Huewe1-0/+4
Since extcon registers this compat link at device registration (extcon_dev_register), we should probably remove them at deregistration/cleanup. Cc: [email protected] Signed-off-by: Peter Huewe <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23extcon: Unregister compat class at module unload to fix oopsPeter Huewe1-0/+3
If you compile extcon with CONFIG_ANDROID and then load and unload the module you get a simple oops as the driver does not unregister its compat class and thus cannot register it again. Full trace: root@(none):~# modprobe extcon_class root@(none):~# rmmod extcon_class root@(none):~# modprobe extcon_class ------------[ cut here ]------------ WARNING: at fs/sysfs/dir.c:536 sysfs_add_one+0xde/0x100() sysfs: cannot create duplicate filename '/class/switch' Modules linked in: extcon_class(+) [last unloaded: extcon_class] Call Trace: 9f451a00: [<602a58bc>] printk+0x0/0xa8 9f451a18: [<60039b43>] warn_slowpath_common+0x93/0xd0 9f451a28: [<6012c6de>] sysfs_add_one+0xde/0x100 9f451a50: [<601d3d90>] strcat+0x0/0x40 9f451a68: [<60039cdc>] warn_slowpath_fmt+0x9c/0xa0 9f451a90: [<6002fe32>] unblock_signals+0x0/0x84 9f451ab0: [<60039c40>] warn_slowpath_fmt+0x0/0xa0 9f451ac0: [<6002fe32>] unblock_signals+0x0/0x84 9f451ae8: [<6012bd97>] sysfs_pathname.isra.10+0x57/0x70 9f451b00: [<601d3d90>] strcat+0x0/0x40 9f451b18: [<6012bd97>] sysfs_pathname.isra.10+0x57/0x70 9f451b48: [<6012c6de>] sysfs_add_one+0xde/0x100 9f451b78: [<6012c96f>] create_dir+0x8f/0x100 9f451bc0: [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class] 9f451bd8: [<6012cda6>] sysfs_create_dir+0xa6/0x1c0 9f451be8: [<601d89f1>] kvasprintf+0x81/0xa0 9f451bf8: [<601cf0f0>] kobject_get+0x0/0x50 9f451c18: [<601cf396>] kobject_add_internal+0x96/0x280 9f451c60: [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class] 9f451c78: [<601cfb93>] kobject_add+0xd3/0x140 9f451cc0: [<601cfac0>] kobject_add+0x0/0x140 9f451cd0: [<6002fe32>] unblock_signals+0x0/0x84 9f451cf8: [<6002fffc>] set_signals+0x29/0x3f 9f451d28: [<600c1de1>] kmem_cache_alloc+0xe1/0x100 9f451d78: [<601cffa0>] kobject_create_and_add+0x50/0xa0 9f451da8: [<601fbe76>] class_compat_register+0x56/0x80 9f451dc8: [<a085d118>] create_extcon_class+0x88/0xd0 [extcon_class] 9f451de8: [<a0861010>] extcon_class_init+0x10/0x12 [extcon_class] 9f451df8: [<600189a8>] do_one_initcall+0x48/0x1f0 9f451e20: [<60061920>] blocking_notifier_call_chain+0x0/0x20 9f451e30: [<60061920>] blocking_notifier_call_chain+0x0/0x20 9f451e58: [<6007e3c3>] sys_init_module+0xa3/0x280 9f451e88: [<6001e2ad>] handle_syscall+0x8d/0x90 9f451ea8: [<60033370>] userspace+0x405/0x531 9f451ee8: [<6001e380>] copy_chunk_to_user+0x0/0x40 9f451ef8: [<6001e5cd>] do_op_one_page+0x14d/0x220 9f451fd8: [<6001a355>] fork_handler+0x95/0xa0 ---[ end trace dd512cc03fe1c367 ]--- ------------[ cut here ]------------ WARNING: at lib/kobject.c:196 kobject_add_internal+0x26e/0x280() kobject_add_internal failed for switch with -EEXIST, don't try to register things with the same name in the same directory. Modules linked in: extcon_class(+) [last unloaded: extcon_class] Call Trace: 9f451ad0: [<602a58bc>] printk+0x0/0xa8 9f451ae8: [<60039b43>] warn_slowpath_common+0x93/0xd0 9f451af8: [<601cf56e>] kobject_add_internal+0x26e/0x280 9f451b18: [<601cf140>] kobject_put+0x0/0x70 9f451b20: [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class] 9f451b38: [<60039cdc>] warn_slowpath_fmt+0x9c/0xa0 9f451b88: [<60039c40>] warn_slowpath_fmt+0x0/0xa0 9f451bc0: [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class] 9f451bd8: [<6012cda6>] sysfs_create_dir+0xa6/0x1c0 9f451be8: [<601d89f1>] kvasprintf+0x81/0xa0 9f451bf8: [<601cf0f0>] kobject_get+0x0/0x50 9f451c18: [<601cf56e>] kobject_add_internal+0x26e/0x280 9f451c60: [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class] 9f451c78: [<601cfb93>] kobject_add+0xd3/0x140 9f451cc0: [<601cfac0>] kobject_add+0x0/0x140 9f451cd0: [<6002fe32>] unblock_signals+0x0/0x84 9f451cf8: [<6002fffc>] set_signals+0x29/0x3f 9f451d28: [<600c1de1>] kmem_cache_alloc+0xe1/0x100 9f451d78: [<601cffa0>] kobject_create_and_add+0x50/0xa0 9f451da8: [<601fbe76>] class_compat_register+0x56/0x80 9f451dc8: [<a085d118>] create_extcon_class+0x88/0xd0 [extcon_class] 9f451de8: [<a0861010>] extcon_class_init+0x10/0x12 [extcon_class] 9f451df8: [<600189a8>] do_one_initcall+0x48/0x1f0 9f451e20: [<60061920>] blocking_notifier_call_chain+0x0/0x20 9f451e30: [<60061920>] blocking_notifier_call_chain+0x0/0x20 9f451e58: [<6007e3c3>] sys_init_module+0xa3/0x280 9f451e88: [<6001e2ad>] handle_syscall+0x8d/0x90 9f451ea8: [<60033370>] userspace+0x405/0x531 9f451ee8: [<6001e380>] copy_chunk_to_user+0x0/0x40 9f451ef8: [<6001e5cd>] do_op_one_page+0x14d/0x220 9f451fd8: [<6001a355>] fork_handler+0x95/0xa0 ---[ end trace dd512cc03fe1c368 ]--- kobject_create_and_add: kobject_add error: -17 ------------[ cut here ]------------ WARNING: at drivers/extcon/extcon_class.c:545 create_extcon_class+0xbc/0xd0 [extcon_class]() cannot allocate Modules linked in: extcon_class(+) [last unloaded: extcon_class] Call Trace: 9f451c80: [<602a58bc>] printk+0x0/0xa8 9f451c98: [<60039b43>] warn_slowpath_common+0x93/0xd0 9f451ca0: [<6002fe32>] unblock_signals+0x0/0x84 9f451ca8: [<a085d14c>] create_extcon_class+0xbc/0xd0 [extcon_class] 9f451cd0: [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class] 9f451ce8: [<60039cdc>] warn_slowpath_fmt+0x9c/0xa0 9f451d20: [<6002fe32>] unblock_signals+0x0/0x84 9f451d28: [<60039c40>] warn_slowpath_fmt+0x0/0xa0 9f451d48: [<6002fffc>] set_signals+0x29/0x3f 9f451d58: [<601cf172>] kobject_put+0x32/0x70 9f451d78: [<600c22c3>] kfree+0xb3/0x100 9f451da8: [<601fbe9a>] class_compat_register+0x7a/0x80 9f451dc8: [<a085d14c>] create_extcon_class+0xbc/0xd0 [extcon_class] 9f451de8: [<a0861010>] extcon_class_init+0x10/0x12 [extcon_class] 9f451df8: [<600189a8>] do_one_initcall+0x48/0x1f0 9f451e20: [<60061920>] blocking_notifier_call_chain+0x0/0x20 9f451e30: [<60061920>] blocking_notifier_call_chain+0x0/0x20 9f451e58: [<6007e3c3>] sys_init_module+0xa3/0x280 9f451e88: [<6001e2ad>] handle_syscall+0x8d/0x90 9f451ea8: [<60033370>] userspace+0x405/0x531 9f451ee8: [<6001e380>] copy_chunk_to_user+0x0/0x40 9f451ef8: [<6001e5cd>] do_op_one_page+0x14d/0x220 9f451fd8: [<6001a355>] fork_handler+0x95/0xa0 ---[ end trace dd512cc03fe1c369 ]--- FATAL: Error inserting extcon_class (/lib/modules/3.6.0-rc6-00178-g811315f/kernel/drivers/extcon/extcon_class.ko): Cannot allocate memory This patch fixes this. Cc: [email protected] Signed-off-by: Peter Huewe <[email protected]> Signed-off-by: Chanwoo Choi <[email protected]>
2012-10-23usb: renesas_usbhs: fixup dma transfer stallKuninori Morimoto1-0/+1
renesas_usbhs driver can switch DMA/PIO transfer by using handler, and each handler have push/pop direction. But unfortunately, current dma push handler didn't a path which calls usbhs_pipe_enable(). Thus, dma transfer never happened. this patch fixes it. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2012-10-23usb: renesas_usbhs: fixup: avoid NULL access on error case pipe detachKuninori Morimoto1-0/+5
If renesas_usbhs or DMAEngine interrupt didn't happen by a certain cause, urb->ep will be NULL by usb time out. Then, host mode will access to it and crash kernel. This patch fixes it. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2012-10-23tcp: Reject invalid ack_seq to Fast Open socketsJerry Chu2-4/+12
A packet with an invalid ack_seq may cause a TCP Fast Open socket to switch to the unexpected TCP_CLOSING state, triggering a BUG_ON kernel panic. When a FIN packet with an invalid ack_seq# arrives at a socket in the TCP_FIN_WAIT1 state, rather than discarding the packet, the current code will accept the FIN, causing state transition to TCP_CLOSING. This may be a small deviation from RFC793, which seems to say that the packet should be dropped. Unfortunately I did not expect this case for Fast Open hence it will trigger a BUG_ON panic. It turns out there is really nothing bad about a TFO socket going into TCP_CLOSING state so I could just remove the BUG_ON statements. But after some thought I think it's better to treat this case like TCP_SYN_RECV and return a RST to the confused peer who caused the unacceptable ack_seq to be generated in the first place. Signed-off-by: H.K. Jerry Chu <[email protected]> Cc: Neal Cardwell <[email protected]> Cc: Yuchung Cheng <[email protected]> Acked-by: Yuchung Cheng <[email protected]> Acked-by: Eric Dumazet <[email protected]> Acked-by: Neal Cardwell <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-10-23usb: gadget: net2272: fix missing unlock on error in net2272_irq()Wei Yongjun1-1/+3
Add the missing unlock on the error handle path in function net2272_irq(). Signed-off-by: Wei Yongjun <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2012-10-23usb: musb: dsps: fix res_name lengthDaniel Mack1-4/+4
The res_name is used for the name construction of a DT property as follows: sprintf(res_name, "port%d-mode", id); Hence, res_name must be at least 11 characters long in order to store the name including the terminating '\0'. While at it, use to snprintf() rather than sprintf() when accessing this buffer. Reported-by: David Binderman <[email protected]> Signed-off-by: Daniel Mack <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
2012-10-23MAINTAINERS: NETWORKING DRIVERS matches too muchJean Delvare1-1/+7
File pattern include/linux/*device.h matches too much, including completely unrelated files. Replace it with an explicit list of network device-related header files. Signed-off-by: Jean Delvare <[email protected]> Cc: Joe Perches <[email protected]> Acked-by: David S. Miller <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-10-23pch_gbe: don't reset MAC_RX on FIFO overflowVeaceslav Falico1-60/+6
Currently, when FIFO_ERR happens, we stop the dma, wait for it to become idle and then reset the whole MAC_RX logic (and after that we must re-set multicast addresses and also re-enable MAC_RX when we're finally ready to accept new packets). This leads to CRC errors on high number of incoming packets and is not needed according to the datasheet. This patch fixes it by the following steps: 1) remove this reset in pch_gbe_stop_receive(), which causes some functions to not be used anywhere 2) remove already unused functions pch_gbe_wait_clr_bit_irq() and pch_gbe_mac_reset_rx() to correctly build 3) move pch_gbe_enable_mac_rx() out of pch_gbe_start_receive() to pch_gbe_up() where it's only needed after we've removed the MAC_RX reset 4) rename pch_gbe_start/stop_receive() to pch_gbe_enable/disable_dma_rx() to more precisely reflect what the functions are now doing. After these changes we already don't see the CRC errors and gain some increase in RX processing speed. Signed-off-by: Veaceslav Falico <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-10-23pch_gbe: don't re-set RX_FIFO_ERR flag in napi_pollVeaceslav Falico1-13/+6
If we were in RX_FIFO_ERR state and entered pch_gbe_napi_poll(), we'll anyway clean some rx space and thus can continue to receive more packets. Currently, we re-set the RX_FIFO_ERR in situations when we've exhausted our budget for RX cleaning or cleaned some TX packets. Removing it gives us +20%-40% speed increase and a lot less of RX_FIFO_ERRors reported. Signed-off-by: Veaceslav Falico <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-10-23pch_gbe: create functions for MAC_RX {en,dis}ableVeaceslav Falico1-6/+20
Move MAC_RX-related bits into separate functions. Signed-off-by: Veaceslav Falico <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2012-10-23Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds21-68/+148
Pull drm fixes from Dave Airlie: "Fixes for intel and nouveau mainly. - intel: disable HSW by default, sdvo fixes, link train regression fix - nouveau: acpi rom loading regression fix, with a few other fixes from the rework -core: just other minor fixes and race fixes for ttm." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (24 commits) drm/ttm: Fix a theoretical race in ttm_bo_cleanup_refs() drm/ttm: Fix a theoretical race drm: platform: Don't initialize driver-private data drm/debugfs: remove redundant info from gem_names drm: fb: cma: Fail gracefully on allocation failure drm: fb: cma: Fix typo in debug message drm/nouveau/clock: fix missing pll type/addr when matching default entry drm/nouveau/fb: fix reporting of memory type on GF8+ IGPs drm/nv41/vm: don't init hw pciegart on boards with agp bridge drm/nouveau/bios: fetch full 4KiB block to determine ACPI ROM image size drm/nouveau: validate vbios size drm/nouveau: warn when trying to free mm which is still in use drm/nouveau: fix nouveau_mm/nouveau_mm_node leak drm/nouveau/bios: improve error handling when reading the vbios from ACPI drm/nouveau: handle same-fb page flips drm/i915: Initialize obj->pages before use by i915_gem_object_do_bit17_swizzle() drm/i915: Add no-lvds quirk for Supermicro X7SPA-H drm/i915: Insert i915_preliminary_hw_support variable. drm/i915: shut up spurious WARN in the gtt fault handler Revert "drm/i915: Try harder to complete DP training pattern 1" ...
2012-10-23Merge tag 'jfs-3.7-2' of git://github.com/kleikamp/linux-shaggyLinus Torvalds1-6/+10
Pull jfs fix from Dave Kleikamp: "Bug fix: Fix FITRIM argument handling" * tag 'jfs-3.7-2' of git://github.com/kleikamp/linux-shaggy: jfs: Fix FITRIM argument handling
2012-10-23Merge tag 'ext4_for_linus' of ↵Linus Torvalds9-45/+74
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 fixes from Ted Ts'o: "Various bug fixes for ext4. The most serious of them fixes a security bug (CVE-2012-4508) which leads to stale data exposure when we have fallocate racing against writes to files undergoing delayed allocation. We also have two fixes for the metadata checksum feature, the most serious of which can cause the superblock to have a invalid checksum after a power failure." * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Avoid underflow in ext4_trim_fs() ext4: Checksum the block bitmap properly with bigalloc enabled ext4: fix undefined bit shift result in ext4_fill_flex_info ext4: fix metadata checksum calculation for the superblock ext4: race-condition protection for ext4_convert_unwritten_extents_endio ext4: serialize fallocate with ext4_convert_unwritten_extents
2012-10-23Merge tag 'nfs-for-3.7-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds7-32/+22
Pull NFS client bugfixes from Trond Myklebust: - Do not call pnfs_return_layout() from an rpciod context - nfs4_ds_disconnect can cause Oopses. Kill it... - Fix the return value for nfs_callback_start_svc - Fix a number of compile warnings * tag 'nfs-for-3.7-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: NFSv4: Fix the return value for nfs_callback_start_svc NFSv4.1: Declare osd_pri_2_pnfs_err(), objio_init_read/write to be static NFSv4: fs/nfs/nfs4getroot.c needs to include "internal.h" NFSv4.1: Use kcalloc() to allocate zeroed arrays instead of kzalloc() NFSv4.1: Do not call pnfs_return_layout() from an rpciod context NFSv4.1: Kill nfs4_ds_disconnect()
2012-10-23Merge tag 'regmap-fix-mmio' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap fix from Mark Brown: "regmap: Fix for dependencies for MMIO Trivial dependency issue, not noticed before as the only user of MMIO also needs I2C." * tag 'regmap-fix-mmio' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: select REGMAP if REGMAP_MMIO and REGMAP_IRQ enabled
2012-10-23drm/ttm: Fix a theoretical race in ttm_bo_cleanup_refs()Thomas Hellstrom1-8/+12
In theory, that function could release the lru lock between checking for bo on ddestroy list and a successful reserve if the bo was already reserved, and the function was called with waiting reserves allowed. However, all current reservers of a bo on the ddestroy list would atomically take the bo off the list after a successful reserve so this race should not have been hit, so no need to backport for stable. This patch also fixes a case found by Maarten Lankhorst where ttm_mem_evict_first called with no_wait_gpu would incorrectly spin waiting for bo idle if trying to evict a busy buffer that also sits on the ddestroy list. Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2012-10-23drm/ttm: Fix a theoretical raceThomas Hellstrom1-2/+2
The ttm_mem_evict_first function could theoretically drop the lru lock without retrying if a reservation from off the LRU list ended up waiting. However, since currently there are no users that could cause a wait in that situation so this is not suitable for stable Signed-off-by: Thomas Hellstrom <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2012-10-23drm: platform: Don't initialize driver-private dataThierry Reding2-8/+5
Platform device drivers usually use the driver-private data for their own purposes. Having it overwritten by drm_platform_init() is confusing and error-prone. Signed-off-by: Thierry Reding <[email protected]> Signed-off-by: Dave Airlie <[email protected]>