Hi Or, I saw below warning when enable CONFIG_DEBUG_MUTEXES > 1893 May 21 08:56:32 ib2 kernel: [ 44.738725] ============================================= > 1894 May 21 08:56:32 ib2 kernel: [ 44.738782] [ INFO: possible recursive locking detected ] > 1895 May 21 08:56:32 ib2 kernel: [ 44.738841] 3.9.0-rc7-pserver #4 Tainted: G O > 1896 May 21 08:56:32 ib2 kernel: [ 44.738896] --------------------------------------------- > 1897 May 21 08:56:32 ib2 kernel: [ 44.738953] kworker/u:5/238 is trying to acquire lock: > 1898 May 21 08:56:32 ib2 kernel: [ 44.739008] (&priv->vlan_mutex){+.+.+.}, at: [] __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1899 May 21 08:56:32 ib2 kernel: [ 44.739218] > 1900 May 21 08:56:32 ib2 kernel: [ 44.739218] but task is already holding lock: > 1901 May 21 08:56:32 ib2 kernel: [ 44.739328] (&priv->vlan_mutex){+.+.+.}, at: [] __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1902 May 21 08:56:32 ib2 kernel: [ 44.739537] > 1903 May 21 08:56:32 ib2 kernel: [ 44.739537] other info that might help us debug this: > 1904 May 21 08:56:32 ib2 kernel: [ 44.739613] Possible unsafe locking scenario: > 1905 May 21 08:56:32 ib2 kernel: [ 44.739613] > 1906 May 21 08:56:32 ib2 kernel: [ 44.739688] CPU0 > 1907 May 21 08:56:32 ib2 kernel: [ 44.739741] ---- > 1908 May 21 08:56:32 ib2 kernel: [ 44.739791] lock(&priv->vlan_mutex); > 1909 May 21 08:56:32 ib2 kernel: [ 44.739902] lock(&priv->vlan_mutex); > 1910 May 21 08:56:32 ib2 kernel: [ 44.740014] > 1911 May 21 08:56:32 ib2 kernel: [ 44.740014] *** DEADLOCK *** > 1912 May 21 08:56:32 ib2 kernel: [ 44.740014] > 1913 May 21 08:56:32 ib2 kernel: [ 44.740103] May be due to missing lock nesting notation > 1914 May 21 08:56:32 ib2 kernel: [ 44.740103] > 1915 May 21 08:56:32 ib2 kernel: [ 44.740213] 3 locks held by kworker/u:5/238: > 1916 May 21 08:56:32 ib2 kernel: [ 44.740266] #0: (ipoib){.+.+.+}, at: [] process_one_work+0x165/0x560 > 1917 May 21 08:56:32 ib2 kernel: [ 44.740495] #1: ((&priv->flush_heavy)){+.+...}, at: [] process_one_work+0x165/0x560 > 1918 May 21 08:56:32 ib2 kernel: [ 44.740725] #2: (&priv->vlan_mutex){+.+.+.}, at: [] __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1919 May 21 08:56:32 ib2 kernel: [ 44.740961] > 1920 May 21 08:56:32 ib2 kernel: [ 44.740961] stack backtrace: > 1921 May 21 08:56:32 ib2 kernel: [ 44.741035] Pid: 238, comm: kworker/u:5 Tainted: G O 3.9.0-rc7-pserver #4 > 1922 May 21 08:56:32 ib2 kernel: [ 44.741111] Call Trace: > 1923 May 21 08:56:32 ib2 kernel: [ 44.741170] [] ? vprintk_emit+0x280/0x520 > 1924 May 21 08:56:32 ib2 kernel: [ 44.741233] [] __lock_acquire+0x6c3/0x17c0 > 1925 May 21 08:56:32 ib2 kernel: [ 44.741295] [] ? __lock_acquire+0xc8c/0x17c0 > 1926 May 21 08:56:32 ib2 kernel: [ 44.741357] [] ? dump_trace+0x177/0x2f0 > 1927 May 21 08:56:32 ib2 kernel: [ 44.741418] [] lock_acquire+0xa2/0x180 > 1928 May 21 08:56:32 ib2 kernel: [ 44.741483] [] ? __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1929 May 21 08:56:32 ib2 kernel: [ 44.741563] [] ? save_stack_trace+0x2f/0x50 > 1930 May 21 08:56:32 ib2 kernel: [ 44.741626] [] __mutex_lock_common+0x5b/0x3e0 > 1931 May 21 08:56:32 ib2 kernel: [ 44.741693] [] ? __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1932 May 21 08:56:32 ib2 kernel: [ 44.741777] [] ? __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1933 May 21 08:56:32 ib2 kernel: [ 44.741855] [] mutex_lock_nested+0x45/0x50 > 1934 May 21 08:56:32 ib2 kernel: [ 44.741922] [] __ipoib_ib_dev_flush+0x3c/0x230 [ib_ipoib] > 1935 May 21 08:56:32 ib2 kernel: [ 44.741991] [] __ipoib_ib_dev_flush+0x5a/0x230 [ib_ipoib] > 1936 May 21 08:56:32 ib2 kernel: [ 44.742060] [] ipoib_ib_dev_flush_heavy+0x1a/0x20 [ib_ipoib] > 1937 May 21 08:56:32 ib2 kernel: [ 44.742138] [] process_one_work+0x1d6/0x560 > 1938 May 21 08:56:32 ib2 kernel: [ 44.742199] [] ? process_one_work+0x165/0x560 > 1939 May 21 08:56:32 ib2 kernel: [ 44.742262] [] worker_thread+0x119/0x370 > 1940 May 21 08:56:32 ib2 kernel: [ 44.742324] [] ? manage_workers+0x340/0x340 > 1941 May 21 08:56:32 ib2 kernel: [ 44.742388] [] kthread+0xe6/0xf0 > 1942 May 21 08:56:32 ib2 kernel: [ 44.742450] [] ? __init_kthread_worker+0x70/0x70 > 1943 May 21 08:56:32 ib2 kernel: [ 44.742513] [] ret_from_fork+0x7c/0xb0 > 1944 May 21 08:56:32 ib2 kernel: [ 44.742575] [] ? __init_kthread_worker+0x70/0x70 > 1945 May 21 08:56:32 ib2 kernel: [ 44.744467] IPv6: ADDRCONF(NETDEV_CHANGE): ib1: link becomes ready > 1946 May 21 08:56:45 ib2 kernel: [ 57.700823] IPv6: ADDRCONF(NETDEV_CHANGE): ib0: link becomes ready And I found attached patch you submitted long time ago, I tried that patch, it fixed the warning, I wonder why the patch was not accepted, anything wrong? Regards, Jack