diff mbox

[net] skge: dma_sync the whole receive buffer

Message ID 20130810150207.37432299@nehalam.linuxnetplumber.net
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Stephen Hemminger Aug. 10, 2013, 10:02 p.m. UTC
The DMA sync should sync the whole receive buffer, not just
part of it. Fixes log messages dma_sync_check.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

poma Aug. 11, 2013, 4:23 a.m. UTC | #1
On 11.08.2013 00:02, Stephen Hemminger wrote:
> The DMA sync should sync the whole receive buffer, not just
> part of it. Fixes log messages dma_sync_check.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> 
> --- a/drivers/net/ethernet/marvell/skge.c	2013-08-10 14:54:13.184737163 -0700
> +++ b/drivers/net/ethernet/marvell/skge.c	2013-08-10 14:54:54.908099676 -0700
> @@ -3077,11 +3077,13 @@ static struct sk_buff *skge_rx_get(struc
>  
>  		pci_dma_sync_single_for_cpu(skge->hw->pdev,
>  					    dma_unmap_addr(e, mapaddr),
> -					    len, PCI_DMA_FROMDEVICE);
> +					    dma_unmap_len(e, maplen),
> +					    PCI_DMA_FROMDEVICE);
>  		skb_copy_from_linear_data(e->skb, skb->data, len);
>  		pci_dma_sync_single_for_device(skge->hw->pdev,
>  					       dma_unmap_addr(e, mapaddr),
> -					       len, PCI_DMA_FROMDEVICE);
> +					       dma_unmap_len(e, maplen),
> +					       PCI_DMA_FROMDEVICE);
>  		skge_rx_reuse(e, skge->rx_buf_size);
>  	} else {
>  		struct sk_buff *nskb;
> 

Apart from all these warnings, oopses and kernel crashes, via skge iface
there is no traffic initiated starting from the fourth layer up i.e.
ssh, whatsoever.
Counting from the first patch - 'skge-add-dma_mapping-check.patch'.

Attached are readings after the third patch -
'skge-fix-log-messages-dma_sync_check.patch',
- 'dmesg-t-3.11.0-0.rc4.git4.1.fc20.x86_64-nmap.txt'
- 'dmesg-t-3.11.0-0.rc4.git4.1.fc20.x86_64-modprobe.txt'

Anyway thanks for the effort.


poma
skge 0000:01:09.0 enp1s9: disabling interface
------------[ cut here ]------------
WARNING: CPU: 1 PID: 2111 at lib/dma-debug.c:877 check_unmap+0x837/0x930()
skge 0000:01:09.0: DMA-API: device driver tries to free DMA memory it has not allocated [device address=0x000000007fd60040] [size=1536 bytes]
Modules linked in: skge(OF-) raid1 nouveau video mxm_wmi i2c_algo_bit drm_kms_helper ttm drm i2c_core wmi
CPU: 1 PID: 2111 Comm: modprobe Tainted: GF          O 3.11.0-0.rc4.git4.1.fc20.x86_64 #1
Hardware name: Gigabyte Technology Co., Ltd. M720-US3/M720-US3, BIOS F7n 09/07/2010
 0000000000000009 ffff8800c0d85a68 ffffffff81723ef6 ffff8800c0d85ab0
 ffff8800c0d85aa0 ffffffff8107462d ffff88012837c2b0 0000000000000600
 000000007fd60040 000000007fd60040 0000000000000600 ffff8800c0d85b00
Call Trace:
 [<ffffffff81723ef6>] dump_stack+0x54/0x74
 [<ffffffff8107462d>] warn_slowpath_common+0x7d/0xa0
 [<ffffffff8107469c>] warn_slowpath_fmt+0x4c/0x50
 [<ffffffff81391bbc>] ? debug_dma_mapping_error+0x7c/0x90
 [<ffffffff81393a07>] check_unmap+0x837/0x930
 [<ffffffff811312e7>] ? rcu_irq_exit+0x77/0xc0
 [<ffffffff8172d933>] ? retint_restore_args+0x13/0x13
 [<ffffffff81393b5f>] debug_dma_unmap_page+0x5f/0x70
 [<ffffffffa01bdc4c>] skge_rx_clean+0x7c/0xf0 [skge]
 [<ffffffffa01bf315>] skge_down+0x505/0x7c0 [skge]
 [<ffffffff815e7275>] __dev_close_many+0x95/0xe0
 [<ffffffff815e73a8>] dev_close_many+0x88/0x100
 [<ffffffff815e84b0>] rollback_registered_many+0xb0/0x220
 [<ffffffff815e8651>] rollback_registered+0x31/0x40
 [<ffffffff815e98e8>] unregister_netdevice_queue+0x48/0x90
 [<ffffffff815e994c>] unregister_netdev+0x1c/0x30
 [<ffffffffa01ba3d9>] skge_remove+0x59/0x120 [skge]
 [<ffffffff813a34db>] pci_device_remove+0x3b/0xb0
 [<ffffffff8148741f>] __device_release_driver+0x7f/0xf0
 [<ffffffff81487dd8>] driver_detach+0xc8/0xd0
 [<ffffffff81487021>] bus_remove_driver+0x91/0x120
 [<ffffffff814884c2>] driver_unregister+0x62/0xa0
 [<ffffffff813a25ca>] pci_unregister_driver+0x2a/0x80
 [<ffffffffa01c0b70>] skge_cleanup_module+0x10/0x4a0 [skge]
 [<ffffffff810f55ed>] SyS_delete_module+0x16d/0x300
 [<ffffffff810e6bbd>] ? trace_hardirqs_on_caller+0xfd/0x1c0
 [<ffffffff8137b24e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff81736dd9>] system_call_fastpath+0x16/0x1b
---[ end trace 02aebf528f817f06 ]---
=============================================================================
BUG skbuff_head_cache (Tainted: GF       W  O): Poison overwritten
=============================================================================
BUG skbuff_head_cache (Tainted: GF       W  O): Poison overwritten
-----------------------------------------------------------------------------

Disabling lock debugging due to kernel taint
INFO: 0xffff8801219952ec-0xffff8801219952ec. First byte 0x6a instead of 0x6b
INFO: Allocated in __alloc_skb+0x4e/0x2b0 age=157381 cpu=3 pid=1340
	__slab_alloc+0x45f/0x526
	kmem_cache_alloc_node+0xd8/0x3d0
	__alloc_skb+0x4e/0x2b0
	netlink_sendmsg+0x36a/0x750
	sock_sendmsg+0x99/0xd0
	SYSC_sendto+0x124/0x1d0
	SyS_sendto+0xe/0x10
	system_call_fastpath+0x16/0x1b
INFO: Freed in kfree_skbmem+0x37/0x90 age=157381 cpu=3 pid=1340
	__slab_free+0x3a/0x382
	kmem_cache_free+0x38a/0x3a0
	kfree_skbmem+0x37/0x90
	consume_skb+0x38/0x150
	netlink_unicast+0xe5/0x190
	netlink_sendmsg+0x329/0x750
	sock_sendmsg+0x99/0xd0
	SYSC_sendto+0x124/0x1d0
	SyS_sendto+0xe/0x10
	system_call_fastpath+0x16/0x1b
INFO: Slab 0xffffea0004866500 objects=28 used=28 fp=0x          (null) flags=0x2ffc0000004080
INFO: Object 0xffff880121995200 @offset=4608 fp=0xffff880121996880

Bytes b4 ffff8801219951f0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Object ffff880121995200: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995210: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995220: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995230: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995240: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995250: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995260: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995270: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995280: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff880121995290: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8801219952a0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8801219952b0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8801219952c0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8801219952d0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8801219952e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6a 6b 6b a5  kkkkkkkkkkkkjkk.
Redzone ffff8801219952f0: bb bb bb bb bb bb bb bb                          ........
Padding ffff880121995430: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
CPU: 1 PID: 1186 Comm: NetworkManager Tainted: GF   B   W  O 3.11.0-0.rc4.git4.1.fc20.x86_64 #1
Hardware name: Gigabyte Technology Co., Ltd. M720-US3/M720-US3, BIOS F7n 09/07/2010
 ffff880121995200 ffff880108e37960 ffffffff81723ef6 ffff880128ad5200
 ffff880108e379a0 ffffffff811cbebd 0000000000000010 ffff880100000001
 ffff8801219952ed ffff880128ad5200 000000000000006b ffff880121995200
Call Trace:
 [<ffffffff81723ef6>] dump_stack+0x54/0x74
 [<ffffffff811cbebd>] print_trailer+0x14d/0x200
 [<ffffffff811cc0af>] check_bytes_and_report+0xcf/0x110
 [<ffffffff811ccfd7>] check_object+0x1d7/0x250
 [<ffffffff815db49e>] ? __alloc_skb+0x4e/0x2b0
 [<ffffffff8172168d>] alloc_debug_processing+0x76/0x118
 [<ffffffff81722362>] __slab_alloc+0x45f/0x526
 [<ffffffff810218b9>] ? sched_clock+0x9/0x10
 [<ffffffff815db49e>] ? __alloc_skb+0x4e/0x2b0
 [<ffffffff815db49e>] ? __alloc_skb+0x4e/0x2b0
 [<ffffffff811d0168>] kmem_cache_alloc_node+0xd8/0x3d0
 [<ffffffff810e346d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff815db49e>] __alloc_skb+0x4e/0x2b0
 [<ffffffff815d798e>] sock_alloc_send_pskb+0x27e/0x400
 [<ffffffff8172cb47>] ? _raw_spin_unlock+0x27/0x40
 [<ffffffff816b40c3>] unix_dgram_sendmsg+0x163/0x620
 [<ffffffff81021845>] ? native_sched_clock+0x15/0x80
 [<ffffffff815d0d79>] sock_sendmsg+0x99/0xd0
 [<ffffffff810218b9>] ? sched_clock+0x9/0x10
 [<ffffffff810b7845>] ? sched_clock_cpu+0xb5/0x100
 [<ffffffff810e346d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff815d12d4>] SYSC_sendto+0x124/0x1d0
 [<ffffffff81736e05>] ? sysret_check+0x22/0x5d
 [<ffffffff810e6bbd>] ? trace_hardirqs_on_caller+0xfd/0x1c0
 [<ffffffff8137b24e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff815d243e>] SyS_sendto+0xe/0x10
 [<ffffffff81736dd9>] system_call_fastpath+0x16/0x1b
FIX skbuff_head_cache: Restoring 0xffff8801219952ec-0xffff8801219952ec=0x6b

FIX skbuff_head_cache: Marking all objects used
-----------------------------------------------------------------------------

INFO: 0xffff8800cf9d9bec-0xffff8800cf9d9bec. First byte 0x69 instead of 0x6b
INFO: Allocated in __alloc_skb+0x4e/0x2b0 age=131154 cpu=3 pid=2031
	__slab_alloc+0x45f/0x526
	kmem_cache_alloc_node+0xd8/0x3d0
	__alloc_skb+0x4e/0x2b0
	netlink_sendmsg+0x36a/0x750
	sock_sendmsg+0x99/0xd0
	___sys_sendmsg+0x39e/0x3b0
	__sys_sendmsg+0x42/0x80
	SyS_sendmsg+0x12/0x20
	system_call_fastpath+0x16/0x1b
INFO: Freed in kfree_skbmem+0x37/0x90 age=131158 cpu=3 pid=2031
	__slab_free+0x3a/0x382
	kmem_cache_free+0x38a/0x3a0
	kfree_skbmem+0x37/0x90
	consume_skb+0x38/0x150
	netlink_unicast+0xe5/0x190
	netlink_sendmsg+0x329/0x750
	sock_sendmsg+0x99/0xd0
	___sys_sendmsg+0x39e/0x3b0
	__sys_sendmsg+0x42/0x80
	SyS_sendmsg+0x12/0x20
	system_call_fastpath+0x16/0x1b
INFO: Slab 0xffffea00033e7600 objects=28 used=27 fp=0xffff8800cf9d98c0 flags=0x1ffc0000004080
INFO: Object 0xffff8800cf9d9b00 @offset=6912 fp=0xffff8800cf9d9f80

Bytes b4 ffff8800cf9d9af0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Object ffff8800cf9d9b00: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b10: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b20: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b30: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b40: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b50: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b60: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b70: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b80: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9b90: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9ba0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9bb0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9bc0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9bd0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cf9d9be0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 69 6b 6b a5  kkkkkkkkkkkkikk.
Redzone ffff8800cf9d9bf0: bb bb bb bb bb bb bb bb                          ........
Padding ffff8800cf9d9d30: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
CPU: 0 PID: 2111 Comm: modprobe Tainted: GF   B   W  O 3.11.0-0.rc4.git4.1.fc20.x86_64 #1
Hardware name: Gigabyte Technology Co., Ltd. M720-US3/M720-US3, BIOS F7n 09/07/2010
 ffff8800cf9d9b00 ffff8800c0d858b0 ffffffff81723ef6 ffff880128ad5200
 ffff8800c0d858f0 ffffffff811cbebd 0000000000000010 ffff880000000001
 ffff8800cf9d9bed ffff880128ad5200 000000000000006b ffff8800cf9d9b00
Call Trace:
 [<ffffffff81723ef6>] dump_stack+0x54/0x74
 [<ffffffff811cbebd>] print_trailer+0x14d/0x200
 [<ffffffff811cc0af>] check_bytes_and_report+0xcf/0x110
 [<ffffffff811ccfd7>] check_object+0x1d7/0x250
 [<ffffffff815db49e>] ? __alloc_skb+0x4e/0x2b0
 [<ffffffff8172168d>] alloc_debug_processing+0x76/0x118
 [<ffffffff81722362>] __slab_alloc+0x45f/0x526
 [<ffffffff815db49e>] ? __alloc_skb+0x4e/0x2b0
 [<ffffffff810e3c77>] ? add_lock_to_list.isra.27.constprop.45+0x77/0xb0
 [<ffffffff810e8280>] ? __lock_acquire+0x12b0/0x1b20
 [<ffffffff815db49e>] ? __alloc_skb+0x4e/0x2b0
 [<ffffffff811d0168>] kmem_cache_alloc_node+0xd8/0x3d0
 [<ffffffff81021845>] ? native_sched_clock+0x15/0x80
 [<ffffffff815db49e>] __alloc_skb+0x4e/0x2b0
 [<ffffffff815f829f>] __neigh_notify+0x3f/0xe0
 [<ffffffff815f969b>] neigh_cleanup_and_release+0x2b/0x50
 [<ffffffff815f9da2>] neigh_flush_dev+0x1e2/0x270
 [<ffffffff815f9ead>] neigh_ifdown+0x3d/0xf0
 [<ffffffff8166a688>] arp_ifdown+0x18/0x20
 [<ffffffff8167c0d6>] fib_disable_ip+0x36/0x40
 [<ffffffff8167e112>] fib_netdev_event+0xc2/0x130
 [<ffffffff81731d86>] notifier_call_chain+0x66/0x150
 [<ffffffff810a7656>] raw_notifier_call_chain+0x16/0x20
 [<ffffffff815e7135>] call_netdevice_notifiers_info+0x35/0x60
 [<ffffffff815e73db>] dev_close_many+0xbb/0x100
 [<ffffffff815e84b0>] rollback_registered_many+0xb0/0x220
 [<ffffffff815e8651>] rollback_registered+0x31/0x40
 [<ffffffff815e98e8>] unregister_netdevice_queue+0x48/0x90
 [<ffffffff815e994c>] unregister_netdev+0x1c/0x30
 [<ffffffffa01ba3d9>] skge_remove+0x59/0x120 [skge]
 [<ffffffff813a34db>] pci_device_remove+0x3b/0xb0
 [<ffffffff8148741f>] __device_release_driver+0x7f/0xf0
 [<ffffffff81487dd8>] driver_detach+0xc8/0xd0
 [<ffffffff81487021>] bus_remove_driver+0x91/0x120
 [<ffffffff814884c2>] driver_unregister+0x62/0xa0
 [<ffffffff813a25ca>] pci_unregister_driver+0x2a/0x80
 [<ffffffffa01c0b70>] skge_cleanup_module+0x10/0x4a0 [skge]
 [<ffffffff810f55ed>] SyS_delete_module+0x16d/0x300
 [<ffffffff810e6bbd>] ? trace_hardirqs_on_caller+0xfd/0x1c0
 [<ffffffff8137b24e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff81736dd9>] system_call_fastpath+0x16/0x1b
FIX skbuff_head_cache: Restoring 0xffff8800cf9d9bec-0xffff8800cf9d9bec=0x6b

FIX skbuff_head_cache: Marking all objects used
=============================================================================
BUG skbuff_head_cache (Tainted: GF   B   W  O): Poison overwritten
-----------------------------------------------------------------------------

INFO: 0xffff8800cfa947ac-0xffff8800cfa947ac. First byte 0x6a instead of 0x6b
INFO: Allocated in skb_clone+0x49/0xb0 age=157080 cpu=0 pid=82
	__slab_alloc+0x45f/0x526
	kmem_cache_alloc+0x2ff/0x380
	skb_clone+0x49/0xb0
	netlink_trim+0x7e/0xe0
	netlink_unicast+0x46/0x190
	kauditd_send_skb+0x2b/0x80
	kauditd_thread+0xb9/0x1f0
	kthread+0xed/0x100
	ret_from_fork+0x7c/0xb0
INFO: Freed in kfree_skbmem+0x37/0x90 age=157083 cpu=1 pid=980
	__slab_free+0x3a/0x382
	kmem_cache_free+0x38a/0x3a0
	kfree_skbmem+0x37/0x90
	consume_skb+0x38/0x150
	skb_free_datagram+0x15/0x40
	netlink_recvmsg+0x147/0x390
	sock_recvmsg+0xa8/0xe0
	SYSC_recvfrom+0xe2/0x160
	SyS_recvfrom+0xe/0x10
	system_call_fastpath+0x16/0x1b
INFO: Slab 0xffffea00033ea500 objects=28 used=28 fp=0x          (null) flags=0x1ffc0000004080
INFO: Object 0xffff8800cfa946c0 @offset=1728 fp=0xffff8800cfa97840

Bytes b4 ffff8800cfa946b0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
Object ffff8800cfa946c0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa946d0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa946e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa946f0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94700: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94710: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94720: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94730: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94740: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94750: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94760: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94770: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94780: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa94790: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
Object ffff8800cfa947a0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6a 6b 6b a5  kkkkkkkkkkkkjkk.
Redzone ffff8800cfa947b0: bb bb bb bb bb bb bb bb                          ........
Padding ffff8800cfa948f0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a  ZZZZZZZZZZZZZZZZ
CPU: 2 PID: 2112 Comm: systemd-udevd Tainted: GF   B   W  O 3.11.0-0.rc4.git4.1.fc20.x86_64 #1
Hardware name: Gigabyte Technology Co., Ltd. M720-US3/M720-US3, BIOS F7n 09/07/2010
 ffff8800cfa946c0 ffff8800cf81b8d0 ffffffff81723ef6 ffff880128ad5200
 ffff8800cf81b910 ffffffff811cbebd 0000000000000010 ffff880000000001
 ffff8800cfa947ad ffff880128ad5200 000000000000006b ffff8800cfa946c0
Call Trace:
 [<ffffffff81723ef6>] dump_stack+0x54/0x74
 [<ffffffff811cbebd>] print_trailer+0x14d/0x200
 [<ffffffff811cc0af>] check_bytes_and_report+0xcf/0x110
 [<ffffffff811ccfd7>] check_object+0x1d7/0x250
 [<ffffffff815dc289>] ? skb_clone+0x49/0xb0
 [<ffffffff8172168d>] alloc_debug_processing+0x76/0x118
 [<ffffffff81722362>] __slab_alloc+0x45f/0x526
 [<ffffffff810e6c8d>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffff815dc289>] ? skb_clone+0x49/0xb0
 [<ffffffff815d9747>] ? kfree_skbmem+0x37/0x90
 [<ffffffff815dc289>] ? skb_clone+0x49/0xb0
 [<ffffffff811cf49f>] kmem_cache_alloc+0x2ff/0x380
 [<ffffffff815dc289>] skb_clone+0x49/0xb0
 [<ffffffff8161eb81>] netlink_broadcast_filtered+0x2c1/0x370
 [<ffffffff816208f8>] netlink_sendmsg+0x648/0x750
 [<ffffffff815d0d79>] sock_sendmsg+0x99/0xd0
 [<ffffffff811ae3cb>] ? page_add_file_rmap+0x1b/0x1a0
 [<ffffffff815d119e>] ___sys_sendmsg+0x39e/0x3b0
 [<ffffffff811a4385>] ? handle_mm_fault+0x2a5/0x5c0
 [<ffffffff810a5b4f>] ? up_read+0x1f/0x40
 [<ffffffff811fca82>] ? final_putname+0x22/0x50
 [<ffffffff8120feac>] ? fget_light+0x28c/0x510
 [<ffffffff815d2702>] __sys_sendmsg+0x42/0x80
 [<ffffffff815d2752>] SyS_sendmsg+0x12/0x20
 [<ffffffff81736dd9>] system_call_fastpath+0x16/0x1b
FIX skbuff_head_cache: Restoring 0xffff8800cfa947ac-0xffff8800cfa947ac=0x6b

FIX skbuff_head_cache: Marking all objects used
IPv6: ADDRCONF(NETDEV_CHANGE): enp1s9: link becomes ready
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2183 at lib/dma-debug.c:986 check_sync+0x4bc/0x580()
skge 0000:01:09.0: DMA-API: device driver tries to sync DMA memory it has not allocated [device address=0x00000000ce550040] [size=1536 bytes]
Modules linked in: skge(OF) raid1 nouveau video mxm_wmi i2c_algo_bit drm_kms_helper ttm drm i2c_core wmi
CPU: 0 PID: 2183 Comm: nmap Tainted: GF          O 3.11.0-0.rc4.git4.1.fc20.x86_64 #1
Hardware name: Gigabyte Technology Co., Ltd. M720-US3/M720-US3, BIOS F7n 09/07/2010
 0000000000000009 ffff88012a603c88 ffffffff81723ef6 ffff88012a603cd0
 ffff88012a603cc0 ffffffff8107462d ffff88012837c2b0 0000000000000600
 ffff880128363470 00000000ce550040 ffff8800c0fb3a80 ffff88012a603d20
Call Trace:
 <IRQ>  [<ffffffff81723ef6>] dump_stack+0x54/0x74
 [<ffffffff8107462d>] warn_slowpath_common+0x7d/0xa0
 [<ffffffff8107469c>] warn_slowpath_fmt+0x4c/0x50
 [<ffffffff81392d7c>] check_sync+0x4bc/0x580
 [<ffffffff81392e8b>] debug_dma_sync_single_for_cpu+0x4b/0x50
 [<ffffffff811cf2ad>] ? kmem_cache_alloc+0x10d/0x380
 [<ffffffff810e6b6c>] ? trace_hardirqs_on_caller+0xac/0x1c0
 [<ffffffff815d97d0>] ? build_skb+0x30/0x1d0
 [<ffffffff815db789>] ? __netdev_alloc_skb+0x89/0xf0
 [<ffffffffa01bfe1e>] skge_poll+0x39e/0x9d0 [skge]
 [<ffffffff815edf81>] ? net_rx_action+0xa1/0x380
 [<ffffffff815ee052>] net_rx_action+0x172/0x380
 [<ffffffff8107b4a7>] __do_softirq+0x107/0x410
 [<ffffffff8173873c>] call_softirq+0x1c/0x30
 <EOI>  [<ffffffff8101ba75>] do_softirq+0x85/0xc0
 [<ffffffff81635586>] ? ip_finish_output+0x2f6/0x800
 [<ffffffff8107a29b>] local_bh_enable+0xdb/0xf0
 [<ffffffff81635586>] ip_finish_output+0x2f6/0x800
 [<ffffffff816353c8>] ? ip_finish_output+0x138/0x800
 [<ffffffff8163720c>] ip_output+0x5c/0x100
 [<ffffffff81661a78>] raw_sendmsg+0x8d8/0xc50
 [<ffffffff8130278d>] ? avc_has_perm_flags+0x16d/0x350
 [<ffffffff81302649>] ? avc_has_perm_flags+0x29/0x350
 [<ffffffff810b797f>] ? local_clock+0x5f/0x70
 [<ffffffff810e3fcf>] ? lock_release_holdtime.part.28+0xf/0x1a0
 [<ffffffff816727e7>] inet_sendmsg+0x117/0x230
 [<ffffffff816726d5>] ? inet_sendmsg+0x5/0x230
 [<ffffffff815d0d79>] sock_sendmsg+0x99/0xd0
 [<ffffffff810e346d>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff810e9738>] ? lock_release_non_nested+0x308/0x350
 [<ffffffff815d12d4>] SYSC_sendto+0x124/0x1d0
 [<ffffffff81736e05>] ? sysret_check+0x22/0x5d
 [<ffffffff810e6bbd>] ? trace_hardirqs_on_caller+0xfd/0x1c0
 [<ffffffff8137b24e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
 [<ffffffff815d243e>] SyS_sendto+0xe/0x10
 [<ffffffff81736dd9>] system_call_fastpath+0x16/0x1b
---[ end trace 9007da55b42056f7 ]---
David Miller Aug. 13, 2013, 10:09 p.m. UTC | #2
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Sat, 10 Aug 2013 15:02:07 -0700

> The DMA sync should sync the whole receive buffer, not just
> part of it. Fixes log messages dma_sync_check.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

Applied, but I really suspect that your "check DMA mapping errors"
patch has added a serious regression.  A regression much worse than
the bug you were trying to fix with that change.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger Aug. 13, 2013, 10:20 p.m. UTC | #3
On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Stephen Hemminger <stephen@networkplumber.org>
> Date: Sat, 10 Aug 2013 15:02:07 -0700
> 
> > The DMA sync should sync the whole receive buffer, not just
> > part of it. Fixes log messages dma_sync_check.
> > 
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> 
> Applied, but I really suspect that your "check DMA mapping errors"
> patch has added a serious regression.  A regression much worse than
> the bug you were trying to fix with that change.

I am retesting with hardware, will have answer tonight.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger Aug. 14, 2013, 1 a.m. UTC | #4
On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Stephen Hemminger <stephen@networkplumber.org>
> Date: Sat, 10 Aug 2013 15:02:07 -0700
> 
> > The DMA sync should sync the whole receive buffer, not just
> > part of it. Fixes log messages dma_sync_check.
> > 
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> 
> Applied, but I really suspect that your "check DMA mapping errors"
> patch has added a serious regression.  A regression much worse than
> the bug you were trying to fix with that change.

Argh. The problem is deeper than that. Device got broken somewhere between
3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
The config's are different though so checking that as well.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 14, 2013, 10:20 a.m. UTC | #5
On 14.08.2013 03:00, Stephen Hemminger wrote:
> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
> David Miller <davem@davemloft.net> wrote:
> 
>> From: Stephen Hemminger <stephen@networkplumber.org>
>> Date: Sat, 10 Aug 2013 15:02:07 -0700
>>
>>> The DMA sync should sync the whole receive buffer, not just
>>> part of it. Fixes log messages dma_sync_check.
>>>
>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>>
>> Applied, but I really suspect that your "check DMA mapping errors"
>> patch has added a serious regression.  A regression much worse than
>> the bug you were trying to fix with that change.
> 
> Argh. The problem is deeper than that. Device got broken somewhere between
> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
> The config's are different though so checking that as well.
> 

Can I help you with debugging?
DGE-530T is rather solid device.


poma


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger Aug. 14, 2013, 4:20 p.m. UTC | #6
On Wed, 14 Aug 2013 12:20:03 +0200
poma <pomidorabelisima@gmail.com> wrote:

> On 14.08.2013 03:00, Stephen Hemminger wrote:
> > On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
> > David Miller <davem@davemloft.net> wrote:
> > 
> >> From: Stephen Hemminger <stephen@networkplumber.org>
> >> Date: Sat, 10 Aug 2013 15:02:07 -0700
> >>
> >>> The DMA sync should sync the whole receive buffer, not just
> >>> part of it. Fixes log messages dma_sync_check.
> >>>
> >>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> >>
> >> Applied, but I really suspect that your "check DMA mapping errors"
> >> patch has added a serious regression.  A regression much worse than
> >> the bug you were trying to fix with that change.
> > 
> > Argh. The problem is deeper than that. Device got broken somewhere between
> > 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
> > The config's are different though so checking that as well.
> > 
> 
> Can I help you with debugging?
> DGE-530T is rather solid device.

Don't think it is a hardware problem.
The failure is when the board access the Receive ring PCI memory area.
This region is allocated with pci_alloc_consistent and therefore should
be available. Two possible issues are driver math issues, or hardware
problems with where the region is located. Some of these cards don't
really have full 64 bit PCI support.

My board is:
05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
	I/O ports at c000 [size=256]
	Expansion ROM at f7d00000 [disabled] [size=128K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Vital Product Data
	Kernel driver in use: skge


What is your config?



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 14, 2013, 6:29 p.m. UTC | #7
On 14.08.2013 18:20, Stephen Hemminger wrote:
> On Wed, 14 Aug 2013 12:20:03 +0200
> poma <pomidorabelisima@gmail.com> wrote:
> 
>> On 14.08.2013 03:00, Stephen Hemminger wrote:
>>> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
>>> David Miller <davem@davemloft.net> wrote:
>>>
>>>> From: Stephen Hemminger <stephen@networkplumber.org>
>>>> Date: Sat, 10 Aug 2013 15:02:07 -0700
>>>>
>>>>> The DMA sync should sync the whole receive buffer, not just
>>>>> part of it. Fixes log messages dma_sync_check.
>>>>>
>>>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>>>>
>>>> Applied, but I really suspect that your "check DMA mapping errors"
>>>> patch has added a serious regression.  A regression much worse than
>>>> the bug you were trying to fix with that change.
>>>
>>> Argh. The problem is deeper than that. Device got broken somewhere between
>>> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
>>> The config's are different though so checking that as well.
>>>
>>
>> Can I help you with debugging?
>> DGE-530T is rather solid device.
> 
> Don't think it is a hardware problem.
> The failure is when the board access the Receive ring PCI memory area.
> This region is allocated with pci_alloc_consistent and therefore should
> be available. Two possible issues are driver math issues, or hardware
> problems with where the region is located. Some of these cards don't
> really have full 64 bit PCI support.
> 
> My board is:
> 05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
> 	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
> 	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
> 	I/O ports at c000 [size=256]
> 	Expansion ROM at f7d00000 [disabled] [size=128K]
> 	Capabilities: [48] Power Management version 2
> 	Capabilities: [50] Vital Product Data
> 	Kernel driver in use: skge
> 
> 
> What is your config?
> 

01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
	Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
	I/O ports at b400 [size=256]
	[virtual] Expansion ROM at ec000000 [disabled] [size=128K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Vital Product Data
	Kernel driver in use: skge


poma

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger Aug. 15, 2013, 3:41 p.m. UTC | #8
On Wed, 14 Aug 2013 20:29:06 +0200
poma <pomidorabelisima@gmail.com> wrote:

> On 14.08.2013 18:20, Stephen Hemminger wrote:
> > On Wed, 14 Aug 2013 12:20:03 +0200
> > poma <pomidorabelisima@gmail.com> wrote:
> > 
> >> On 14.08.2013 03:00, Stephen Hemminger wrote:
> >>> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
> >>> David Miller <davem@davemloft.net> wrote:
> >>>
> >>>> From: Stephen Hemminger <stephen@networkplumber.org>
> >>>> Date: Sat, 10 Aug 2013 15:02:07 -0700
> >>>>
> >>>>> The DMA sync should sync the whole receive buffer, not just
> >>>>> part of it. Fixes log messages dma_sync_check.
> >>>>>
> >>>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> >>>>
> >>>> Applied, but I really suspect that your "check DMA mapping errors"
> >>>> patch has added a serious regression.  A regression much worse than
> >>>> the bug you were trying to fix with that change.
> >>>
> >>> Argh. The problem is deeper than that. Device got broken somewhere between
> >>> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
> >>> The config's are different though so checking that as well.
> >>>
> >>
> >> Can I help you with debugging?
> >> DGE-530T is rather solid device.
> > 
> > Don't think it is a hardware problem.
> > The failure is when the board access the Receive ring PCI memory area.
> > This region is allocated with pci_alloc_consistent and therefore should
> > be available. Two possible issues are driver math issues, or hardware
> > problems with where the region is located. Some of these cards don't
> > really have full 64 bit PCI support.
> > 
> > My board is:
> > 05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
> > 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
> > 	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
> > 	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
> > 	I/O ports at c000 [size=256]
> > 	Expansion ROM at f7d00000 [disabled] [size=128K]
> > 	Capabilities: [48] Power Management version 2
> > 	Capabilities: [50] Vital Product Data
> > 	Kernel driver in use: skge
> > 
> > 
> > What is your config?
> > 
> 
> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
> 	Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
> 	I/O ports at b400 [size=256]
> 	[virtual] Expansion ROM at ec000000 [disabled] [size=128K]
> 	Capabilities: [48] Power Management version 2
> 	Capabilities: [50] Vital Product Data
> 	Kernel driver in use: skge
> 
> 
> poma
> 

In the course of debugging this, I moved the card to another slot
and all the problems went away. I suspect either card insertion or more likely
the crap consumer motherboards don't have full PCI support on some slots.

There doesn't seem to be anyway to address this in software.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 16, 2013, 2:36 p.m. UTC | #9
On 15.08.2013 17:41, Stephen Hemminger wrote:

> In the course of debugging this, I moved the card to another slot
> and all the problems went away. I suspect either card insertion or more likely
> the crap consumer motherboards don't have full PCI support on some slots.
> 
> There doesn't seem to be anyway to address this in software.
> 

Noted, thanks.
Follows overhaul.


poma


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 19, 2013, 12:49 a.m. UTC | #10
On 15.08.2013 17:41, Stephen Hemminger wrote:
> On Wed, 14 Aug 2013 20:29:06 +0200
> poma <pomidorabelisima@gmail.com> wrote:
> 
>> On 14.08.2013 18:20, Stephen Hemminger wrote:
>>> On Wed, 14 Aug 2013 12:20:03 +0200
>>> poma <pomidorabelisima@gmail.com> wrote:
>>>
>>>> On 14.08.2013 03:00, Stephen Hemminger wrote:
>>>>> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
>>>>> David Miller <davem@davemloft.net> wrote:
>>>>>
>>>>>> From: Stephen Hemminger <stephen@networkplumber.org>
>>>>>> Date: Sat, 10 Aug 2013 15:02:07 -0700
>>>>>>
>>>>>>> The DMA sync should sync the whole receive buffer, not just
>>>>>>> part of it. Fixes log messages dma_sync_check.
>>>>>>>
>>>>>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>>>>>>
>>>>>> Applied, but I really suspect that your "check DMA mapping errors"
>>>>>> patch has added a serious regression.  A regression much worse than
>>>>>> the bug you were trying to fix with that change.
>>>>>
>>>>> Argh. The problem is deeper than that. Device got broken somewhere between
>>>>> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
>>>>> The config's are different though so checking that as well.
>>>>>
>>>>
>>>> Can I help you with debugging?
>>>> DGE-530T is rather solid device.
>>>
>>> Don't think it is a hardware problem.
>>> The failure is when the board access the Receive ring PCI memory area.
>>> This region is allocated with pci_alloc_consistent and therefore should
>>> be available. Two possible issues are driver math issues, or hardware
>>> problems with where the region is located. Some of these cards don't
>>> really have full 64 bit PCI support.
>>>
>>> My board is:
>>> 05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
>>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>>> 	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
>>> 	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
>>> 	I/O ports at c000 [size=256]
>>> 	Expansion ROM at f7d00000 [disabled] [size=128K]
>>> 	Capabilities: [48] Power Management version 2
>>> 	Capabilities: [50] Vital Product Data
>>> 	Kernel driver in use: skge
>>>
>>>
>>> What is your config?
>>>
>>
>> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>> (rev 11)
>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
>> 	Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
>> 	I/O ports at b400 [size=256]
>> 	[virtual] Expansion ROM at ec000000 [disabled] [size=128K]
>> 	Capabilities: [48] Power Management version 2
>> 	Capabilities: [50] Vital Product Data
>> 	Kernel driver in use: skge
>>
>>
>> poma
>>
> 
> In the course of debugging this, I moved the card to another slot
> and all the problems went away. I suspect either card insertion or more likely
> the crap consumer motherboards don't have full PCI support on some slots.
> 
> There doesn't seem to be anyway to address this in software.
> 


DGE-530T is further tested in the 3 available slots:
01:06.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
01:07.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
01:08.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
And the result is the same as in the slot:
01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
warnings, oopses and kernel crashes.

However DGE-528T(RTL8110s) on the same bus runs without errors:
01:09.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet
Adapter (rev 10)
	Subsystem: D-Link System Inc DGE-528T Gigabit Ethernet Adapter
	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
	I/O ports at cc00 [size=256]
	Memory at fbfff000 (32-bit, non-prefetchable) [size=256]
	[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2
	Kernel driver in use: r8169

Besides comparing the behavior of these two cards, e.g. NFS upload, I
noticed an obvious difference in the data flow.
Via DGE-528T transmission is steady, while via DGE-530T the traffic is
at times interrupted and unstable.
So it seems that the "WARNING: at lib/dma-debug.c:937 check_unmap…"
isn't just a fun.


poma


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 20, 2013, 3:28 a.m. UTC | #11
On 19.08.2013 02:49, poma wrote:
> On 15.08.2013 17:41, Stephen Hemminger wrote:
>> On Wed, 14 Aug 2013 20:29:06 +0200
>> poma <pomidorabelisima@gmail.com> wrote:
>>
>>> On 14.08.2013 18:20, Stephen Hemminger wrote:
>>>> On Wed, 14 Aug 2013 12:20:03 +0200
>>>> poma <pomidorabelisima@gmail.com> wrote:
>>>>
>>>>> On 14.08.2013 03:00, Stephen Hemminger wrote:
>>>>>> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
>>>>>> David Miller <davem@davemloft.net> wrote:
>>>>>>
>>>>>>> From: Stephen Hemminger <stephen@networkplumber.org>
>>>>>>> Date: Sat, 10 Aug 2013 15:02:07 -0700
>>>>>>>
>>>>>>>> The DMA sync should sync the whole receive buffer, not just
>>>>>>>> part of it. Fixes log messages dma_sync_check.
>>>>>>>>
>>>>>>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>>>>>>>
>>>>>>> Applied, but I really suspect that your "check DMA mapping errors"
>>>>>>> patch has added a serious regression.  A regression much worse than
>>>>>>> the bug you were trying to fix with that change.
>>>>>>
>>>>>> Argh. The problem is deeper than that. Device got broken somewhere between
>>>>>> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
>>>>>> The config's are different though so checking that as well.
>>>>>>
>>>>>
>>>>> Can I help you with debugging?
>>>>> DGE-530T is rather solid device.
>>>>
>>>> Don't think it is a hardware problem.
>>>> The failure is when the board access the Receive ring PCI memory area.
>>>> This region is allocated with pci_alloc_consistent and therefore should
>>>> be available. Two possible issues are driver math issues, or hardware
>>>> problems with where the region is located. Some of these cards don't
>>>> really have full 64 bit PCI support.
>>>>
>>>> My board is:
>>>> 05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
>>>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>>>> 	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
>>>> 	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
>>>> 	I/O ports at c000 [size=256]
>>>> 	Expansion ROM at f7d00000 [disabled] [size=128K]
>>>> 	Capabilities: [48] Power Management version 2
>>>> 	Capabilities: [50] Vital Product Data
>>>> 	Kernel driver in use: skge
>>>>
>>>>
>>>> What is your config?
>>>>
>>>
>>> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>>> (rev 11)
>>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>>> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
>>> 	Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
>>> 	I/O ports at b400 [size=256]
>>> 	[virtual] Expansion ROM at ec000000 [disabled] [size=128K]
>>> 	Capabilities: [48] Power Management version 2
>>> 	Capabilities: [50] Vital Product Data
>>> 	Kernel driver in use: skge
>>>
>>>
>>> poma
>>>
>>
>> In the course of debugging this, I moved the card to another slot
>> and all the problems went away. I suspect either card insertion or more likely
>> the crap consumer motherboards don't have full PCI support on some slots.
>>
>> There doesn't seem to be anyway to address this in software.
>>
> 
> 
> DGE-530T is further tested in the 3 available slots:
> 01:06.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
> 01:07.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
> 01:08.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
> And the result is the same as in the slot:
> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
> warnings, oopses and kernel crashes.
> 
> However DGE-528T(RTL8110s) on the same bus runs without errors:
> 01:09.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet
> Adapter (rev 10)
> 	Subsystem: D-Link System Inc DGE-528T Gigabit Ethernet Adapter
> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
> 	I/O ports at cc00 [size=256]
> 	Memory at fbfff000 (32-bit, non-prefetchable) [size=256]
> 	[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
> 	Capabilities: [dc] Power Management version 2
> 	Kernel driver in use: r8169
> 
> Besides comparing the behavior of these two cards, e.g. NFS upload, I
> noticed an obvious difference in the data flow.
> Via DGE-528T transmission is steady, while via DGE-530T the traffic is
> at times interrupted and unstable.
> So it seems that the "WARNING: at lib/dma-debug.c:937 check_unmap…"
> isn't just a fun.
> 

In support of the validity of the device I made a test with the
2.6.32-358.14.1.el6.x86_64.debug kernel.
And everything worked as it should.

01:08.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
	Memory at fbff8000 (32-bit, non-prefetchable) [size=16K]
	I/O ports at cc00 [size=256]
	[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
	Capabilities: [48] Power Management version 2
	Capabilities: [50] Vital Product Data
	Kernel driver in use: skge
	Kernel modules: skge

filename:
/lib/modules/2.6.32-358.14.1.el6.x86_64.debug/kernel/drivers/net/skge.ko
version:        1.13
license:        GPL
author:         Stephen Hemminger <shemminger@linux-foundation.org>
description:    SysKonnect Gigabit Ethernet driver
srcversion:     ADF6781C2E0D2D895F86279
alias:          pci:v00001737d00001032sv*sd00000015bc*sc*i*
alias:          pci:v00001737d00001064sv*sd*bc*sc*i*
alias:          pci:v00001371d0000434Esv*sd*bc*sc*i*
alias:          pci:v000011ABd00005005sv*sd*bc*sc*i*
alias:          pci:v000011ABd00004320sv*sd*bc*sc*i*
alias:          pci:v00001186d00004B01sv*sd*bc*sc*i*
alias:          pci:v00001186d00004C00sv*sd*bc*sc*i*
alias:          pci:v00001148d00004320sv*sd*bc*sc*i*
alias:          pci:v00001148d00004300sv*sd*bc*sc*i*
alias:          pci:v000010B7d000080EBsv*sd*bc*sc*i*
alias:          pci:v000010B7d00001700sv*sd*bc*sc*i*
depends:
vermagic:       2.6.32-358.14.1.el6.x86_64.debug SMP mod_unload modversions
parm:           debug:Debug level (0=none,...,16=all) (int)


Given all the tests and all written, something isn't right, at all.
Should I quote Shakespeare. :)


poma


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 21, 2013, 4:04 p.m. UTC | #12
On 20.08.2013 05:28, poma wrote:
> On 19.08.2013 02:49, poma wrote:
>> On 15.08.2013 17:41, Stephen Hemminger wrote:
>>> On Wed, 14 Aug 2013 20:29:06 +0200
>>> poma <pomidorabelisima@gmail.com> wrote:
>>>
>>>> On 14.08.2013 18:20, Stephen Hemminger wrote:
>>>>> On Wed, 14 Aug 2013 12:20:03 +0200
>>>>> poma <pomidorabelisima@gmail.com> wrote:
>>>>>
>>>>>> On 14.08.2013 03:00, Stephen Hemminger wrote:
>>>>>>> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
>>>>>>> David Miller <davem@davemloft.net> wrote:
>>>>>>>
>>>>>>>> From: Stephen Hemminger <stephen@networkplumber.org>
>>>>>>>> Date: Sat, 10 Aug 2013 15:02:07 -0700
>>>>>>>>
>>>>>>>>> The DMA sync should sync the whole receive buffer, not just
>>>>>>>>> part of it. Fixes log messages dma_sync_check.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>>>>>>>>
>>>>>>>> Applied, but I really suspect that your "check DMA mapping errors"
>>>>>>>> patch has added a serious regression.  A regression much worse than
>>>>>>>> the bug you were trying to fix with that change.
>>>>>>>
>>>>>>> Argh. The problem is deeper than that. Device got broken somewhere between
>>>>>>> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
>>>>>>> The config's are different though so checking that as well.
>>>>>>>
>>>>>>
>>>>>> Can I help you with debugging?
>>>>>> DGE-530T is rather solid device.
>>>>>
>>>>> Don't think it is a hardware problem.
>>>>> The failure is when the board access the Receive ring PCI memory area.
>>>>> This region is allocated with pci_alloc_consistent and therefore should
>>>>> be available. Two possible issues are driver math issues, or hardware
>>>>> problems with where the region is located. Some of these cards don't
>>>>> really have full 64 bit PCI support.
>>>>>
>>>>> My board is:
>>>>> 05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
>>>>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>>>>> 	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
>>>>> 	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
>>>>> 	I/O ports at c000 [size=256]
>>>>> 	Expansion ROM at f7d00000 [disabled] [size=128K]
>>>>> 	Capabilities: [48] Power Management version 2
>>>>> 	Capabilities: [50] Vital Product Data
>>>>> 	Kernel driver in use: skge
>>>>>
>>>>>
>>>>> What is your config?
>>>>>
>>>>
>>>> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>>>> (rev 11)
>>>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>>>> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
>>>> 	Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
>>>> 	I/O ports at b400 [size=256]
>>>> 	[virtual] Expansion ROM at ec000000 [disabled] [size=128K]
>>>> 	Capabilities: [48] Power Management version 2
>>>> 	Capabilities: [50] Vital Product Data
>>>> 	Kernel driver in use: skge
>>>>
>>>>
>>>> poma
>>>>
>>>
>>> In the course of debugging this, I moved the card to another slot
>>> and all the problems went away. I suspect either card insertion or more likely
>>> the crap consumer motherboards don't have full PCI support on some slots.
>>>
>>> There doesn't seem to be anyway to address this in software.
>>>
>>
>>
>> DGE-530T is further tested in the 3 available slots:
>> 01:06.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>> (rev 11)
>> 01:07.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>> (rev 11)
>> 01:08.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>> (rev 11)
>> And the result is the same as in the slot:
>> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>> (rev 11)
>> warnings, oopses and kernel crashes.
>>
>> However DGE-528T(RTL8110s) on the same bus runs without errors:
>> 01:09.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet
>> Adapter (rev 10)
>> 	Subsystem: D-Link System Inc DGE-528T Gigabit Ethernet Adapter
>> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
>> 	I/O ports at cc00 [size=256]
>> 	Memory at fbfff000 (32-bit, non-prefetchable) [size=256]
>> 	[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
>> 	Capabilities: [dc] Power Management version 2
>> 	Kernel driver in use: r8169
>>
>> Besides comparing the behavior of these two cards, e.g. NFS upload, I
>> noticed an obvious difference in the data flow.
>> Via DGE-528T transmission is steady, while via DGE-530T the traffic is
>> at times interrupted and unstable.
>> So it seems that the "WARNING: at lib/dma-debug.c:937 check_unmap…"
>> isn't just a fun.
>>
> 
> In support of the validity of the device I made a test with the
> 2.6.32-358.14.1.el6.x86_64.debug kernel.
> And everything worked as it should.
> 
> 01:08.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
> (rev 11)
> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
> 	Memory at fbff8000 (32-bit, non-prefetchable) [size=16K]
> 	I/O ports at cc00 [size=256]
> 	[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
> 	Capabilities: [48] Power Management version 2
> 	Capabilities: [50] Vital Product Data
> 	Kernel driver in use: skge
> 	Kernel modules: skge
> 
> filename:
> /lib/modules/2.6.32-358.14.1.el6.x86_64.debug/kernel/drivers/net/skge.ko
> version:        1.13
> license:        GPL
> author:         Stephen Hemminger <shemminger@linux-foundation.org>
> description:    SysKonnect Gigabit Ethernet driver
> srcversion:     ADF6781C2E0D2D895F86279
> alias:          pci:v00001737d00001032sv*sd00000015bc*sc*i*
> alias:          pci:v00001737d00001064sv*sd*bc*sc*i*
> alias:          pci:v00001371d0000434Esv*sd*bc*sc*i*
> alias:          pci:v000011ABd00005005sv*sd*bc*sc*i*
> alias:          pci:v000011ABd00004320sv*sd*bc*sc*i*
> alias:          pci:v00001186d00004B01sv*sd*bc*sc*i*
> alias:          pci:v00001186d00004C00sv*sd*bc*sc*i*
> alias:          pci:v00001148d00004320sv*sd*bc*sc*i*
> alias:          pci:v00001148d00004300sv*sd*bc*sc*i*
> alias:          pci:v000010B7d000080EBsv*sd*bc*sc*i*
> alias:          pci:v000010B7d00001700sv*sd*bc*sc*i*
> depends:
> vermagic:       2.6.32-358.14.1.el6.x86_64.debug SMP mod_unload modversions
> parm:           debug:Debug level (0=none,...,16=all) (int)
> 
> 
> Given all the tests and all written, something isn't right, at all.
> Should I quote Shakespeare. :)
> 

Additionally, I have researched the history of the event and made a few
more tests.
The last kernel that worked flawlessly is from the 3.7.10 series.
I tested with the 3.7.10-400.fc19.x86_64.debug kernel.
The first kernel afterwards - the 3.8 series - introduced problems with
DMA-API, "… device driver failed to check map error".
An example that follows shows the skge module brokenness in its current
state.
The only thing that is produced is a timeout.
The same result was achieved with the 3.11.0-0.rc6.git1.1.fc20.i686 kernel.

[CLIENT]

$ lspci -knn -d 1186:4c00
01:08.0 Ethernet controller [0200]: D-Link System Inc Gigabit Ethernet
Adapter [1186:4c00] (rev 11)
	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter [1186:4c00]
	Kernel driver in use: skge

$ modinfo skge
filename:
/lib/modules/3.11.0-0.rc6.git1.1.fc20.x86_64/kernel/drivers/net/ethernet/marvell/skge.ko
version:        1.14
license:        GPL
author:         Stephen Hemminger <shemminger@linux-foundation.org>
description:    SysKonnect Gigabit Ethernet driver
srcversion:     BF56B39CFC55B011E27DAB9
alias:          pci:v00001737d00001032sv*sd00000015bc*sc*i*
alias:          pci:v00001737d00001064sv*sd*bc*sc*i*
alias:          pci:v00001371d0000434Esv*sd*bc*sc*i*
alias:          pci:v000011ABd00005005sv*sd*bc*sc*i*
alias:          pci:v000011ABd00004320sv*sd*bc*sc*i*
alias:          pci:v00001186d00004302sv*sd*bc*sc*i*
alias:          pci:v00001186d00004C00sv*sd*bc*sc*i*
alias:          pci:v00001186d00004B01sv*sd*bc*sc*i*
alias:          pci:v00001148d00004320sv*sd*bc*sc*i*
alias:          pci:v00001148d00004300sv*sd*bc*sc*i*
alias:          pci:v000010B7d000080EBsv*sd*bc*sc*i*
alias:          pci:v000010B7d00001700sv*sd*bc*sc*i*
depends:
intree:         Y
vermagic:       3.11.0-0.rc6.git1.1.fc20.x86_64 SMP mod_unload
signer:         Fedora kernel signing key
sig_key:        B1:4E:0F:25:52:6B:EE:0B:8B:66:BA:D6:38:99:D2:21:5D:37:E1:C1
sig_hashalgo:   sha256
parm:           debug:Debug level (0=none,...,16=all) (int)

$ time ssh -vvv <SERVER_IP>
OpenSSH_6.2p2, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data $HOME/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 51: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to <SERVER_IP> [<SERVER_IP>] port 22.
debug1: Connection established.
debug1: identity file $HOME/.ssh/id_rsa type -1
debug1: identity file $HOME/.ssh/id_rsa-cert type -1
debug3: Incorrect RSA1 identifier
debug3: Could not load "$HOME/.ssh/id_dsa" as a RSA1 public key
debug1: identity file $HOME/.ssh/id_dsa type 2
debug1: identity file $HOME/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.2
debug1: match: OpenSSH_6.2 pat OpenSSH*
debug2: fd 3 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "<SERVER_IP>" from file
"$HOME/.ssh/known_hosts"
debug3: load_hostkeys: found key type RSA in file $HOME/.ssh/known_hosts:1
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs:
ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-rsa
debug1: SSH2_MSG_KEXINIT sent
Connection to <SERVER_IP> timed out while waiting to read

real	1m0.133s
user	0m0.006s
sys	0m0.036s

# tcptrack -i enp1s8 port 22
Client                Server                State        Idle A Speed

 <CLIENT_IP>:53602     <SERVER_IP>:22        ESTABLISHED  1m    0 B/s

[\CLIENT]
.
.
[SERVER]

/var/log/secure
<DATE> <SERVER> sshd[25248]: Connection closed by <CLIENT_IP> [preauth]

[\SERVER]


Signor Greg you are supposed to be very resourceful guy, especially in
matters concerning the hardware, so please if you can set aside your
valuable time and help us finally resolve this issue.


poma


A complete thread:
http://www.spinics.net/lists/netdev/msg245381.html

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
gregkh@linuxfoundation.org Aug. 22, 2013, 12:40 a.m. UTC | #13
On Wed, Aug 21, 2013 at 06:04:11PM +0200, poma wrote:
> Signor Greg you are supposed to be very resourceful guy, especially in
> matters concerning the hardware, so please if you can set aside your
> valuable time and help us finally resolve this issue.

Please take it up with Stephen, it's his driver, not mine.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 22, 2013, 3:30 a.m. UTC | #14
On 22.08.2013 02:40, Greg KH wrote:
> On Wed, Aug 21, 2013 at 06:04:11PM +0200, poma wrote:
>> Signor Greg you are supposed to be very resourceful guy, especially in
>> matters concerning the hardware, so please if you can set aside your
>> valuable time and help us finally resolve this issue.
> 
> Please take it up with Stephen, it's his driver, not mine.
> 
> greg k-h
> 

I guess I wrongly assumed that developers help each other when they get
stuck. Isn't it obvious that Steph and Dave already decided to ship the
broken module in da birthday kernel. What can I do in the first place,
as a simple user. That's why I asked you to help.
However thank you for the answer.


poma


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
gregkh@linuxfoundation.org Aug. 22, 2013, 4 a.m. UTC | #15
On Thu, Aug 22, 2013 at 05:30:17AM +0200, poma wrote:
> On 22.08.2013 02:40, Greg KH wrote:
> > On Wed, Aug 21, 2013 at 06:04:11PM +0200, poma wrote:
> >> Signor Greg you are supposed to be very resourceful guy, especially in
> >> matters concerning the hardware, so please if you can set aside your
> >> valuable time and help us finally resolve this issue.
> > 
> > Please take it up with Stephen, it's his driver, not mine.
> > 
> > greg k-h
> > 
> 
> I guess I wrongly assumed that developers help each other when they get
> stuck. Isn't it obvious that Steph and Dave already decided to ship the
> broken module in da birthday kernel.

No, it's not obvious at all.  If it's broken for you, please work with
them, not against them by trying to go around their back to someone
else.  I have nothing to do with networking drivers, that's Stephen and
David's area of the kernel, so there's nothing I can even do here,
sorry.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Hemminger Aug. 22, 2013, 4:08 a.m. UTC | #16
On Thu, 22 Aug 2013 05:30:17 +0200
poma <pomidorabelisima@gmail.com> wrote:

> On 22.08.2013 02:40, Greg KH wrote:
> > On Wed, Aug 21, 2013 at 06:04:11PM +0200, poma wrote:
> >> Signor Greg you are supposed to be very resourceful guy, especially in
> >> matters concerning the hardware, so please if you can set aside your
> >> valuable time and help us finally resolve this issue.
> > 
> > Please take it up with Stephen, it's his driver, not mine.
> > 
> > greg k-h
> > 
> 
> I guess I wrongly assumed that developers help each other when they get
> stuck. Isn't it obvious that Steph and Dave already decided to ship the
> broken module in da birthday kernel. What can I do in the first place,
> as a simple user. That's why I asked you to help.
> However thank you for the answer.
> 
> 
> poma
> 
> 

If you have the patience and time, it would be useful to bisect the problem.
It may not just be in skge.c but a side effect of other config changes.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
poma Aug. 22, 2013, 2:46 p.m. UTC | #17
Then out spake brave Horatius,
    The Captain of the Gate:
    "To every man upon this earth
    Death cometh soon or late.
    And how can man die better
    Than facing fearful odds,
    For the ashes of his fathers,
    And the temples of his Gods."


poma


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/drivers/net/ethernet/marvell/skge.c	2013-08-10 14:54:13.184737163 -0700
+++ b/drivers/net/ethernet/marvell/skge.c	2013-08-10 14:54:54.908099676 -0700
@@ -3077,11 +3077,13 @@  static struct sk_buff *skge_rx_get(struc
 
 		pci_dma_sync_single_for_cpu(skge->hw->pdev,
 					    dma_unmap_addr(e, mapaddr),
-					    len, PCI_DMA_FROMDEVICE);
+					    dma_unmap_len(e, maplen),
+					    PCI_DMA_FROMDEVICE);
 		skb_copy_from_linear_data(e->skb, skb->data, len);
 		pci_dma_sync_single_for_device(skge->hw->pdev,
 					       dma_unmap_addr(e, mapaddr),
-					       len, PCI_DMA_FROMDEVICE);
+					       dma_unmap_len(e, maplen),
+					       PCI_DMA_FROMDEVICE);
 		skge_rx_reuse(e, skge->rx_buf_size);
 	} else {
 		struct sk_buff *nskb;