mbox series

[00/20] qla2xxx Patches

Message ID 20190529202826.204499-1-bvanassche@acm.org (mailing list archive)
Headers show
Series qla2xxx Patches | expand

Message

Bart Van Assche May 29, 2019, 8:28 p.m. UTC
Hi Martin,

This patch series is the result of code review, inspection of the Coverity
output and actual testing. The first two patches in this series are intended
for the current release cycle (kernel v5.2) and the other 18 patches are
intended for the kernel v5.3 merge window. Please consider these patches.

Thanks,

Bart.

Bart Van Assche (20):
  qla2xxx: Include the <asm/unaligned.h> header file from qla_dsd.h
  qla2xxx: Really fix abort handling
  qla2xxx: Remove an include directive from qla_mr.c
  qla2xxx: Remove a forward declaration
  qla2xxx: Declare the fourth ql_dump_buffer() argument const
  qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into
    void
  qla2xxx: Reduce the scope of three local variables in
    qla2xxx_queuecommand()
  qla2xxx: Declare qla_tgt_cmd.cdb const
  qla2xxx: Change data_dsd into an array
  qla2xxx: Verify locking assumptions at runtime
  qla2xxx: Reduce the number of casts in GID list code
  qla2xxx: Improve Linux kernel coding style conformance
  qla2xxx: Remove two superfluous if-tests
  qla2xxx: Simplify qlt_lport_dump()
  qla2xxx: Introduce qla2x00_els_dcmd2_free()
  qla2xxx: Remove a superfluous pointer check
  qla2xxx: Remove two superfluous tests
  qla2xxx: Fix session lookup in qlt_abort_work()
  qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst
    IDs
  qla2xxx: Fix qla24xx_abort_sp_done()

 drivers/scsi/qla2xxx/qla_dbg.c     |   3 +-
 drivers/scsi/qla2xxx/qla_def.h     |  75 ++++++++++--
 drivers/scsi/qla2xxx/qla_dfs.c     |   9 +-
 drivers/scsi/qla2xxx/qla_dsd.h     |   2 +
 drivers/scsi/qla2xxx/qla_gbl.h     |   4 +-
 drivers/scsi/qla2xxx/qla_gs.c      |  41 +++----
 drivers/scsi/qla2xxx/qla_init.c    |  42 +++----
 drivers/scsi/qla2xxx/qla_iocb.c    |  44 ++++----
 drivers/scsi/qla2xxx/qla_mr.c      |   1 -
 drivers/scsi/qla2xxx/qla_nvme.c    |   4 +-
 drivers/scsi/qla2xxx/qla_nvme.h    |   2 +-
 drivers/scsi/qla2xxx/qla_nx.c      |  10 +-
 drivers/scsi/qla2xxx/qla_nx.h      |  14 +--
 drivers/scsi/qla2xxx/qla_os.c      |  40 ++++---
 drivers/scsi/qla2xxx/qla_target.c  | 176 +++++++++++------------------
 drivers/scsi/qla2xxx/qla_target.h  |  35 ++----
 drivers/scsi/qla2xxx/tcm_qla2xxx.c |  23 +---
 17 files changed, 250 insertions(+), 275 deletions(-)

Comments

Himanshu Madhani May 29, 2019, 9:44 p.m. UTC | #1
Hi Bart, 

Thanks for the series. We will provide ACK after these patches have gone through our internal testing.

Thanks,
Himanshu

> On May 29, 2019, at 1:28 PM, Bart Van Assche <bvanassche@acm.org> wrote:
> 
> Hi Martin,
> 
> This patch series is the result of code review, inspection of the Coverity
> output and actual testing. The first two patches in this series are intended
> for the current release cycle (kernel v5.2) and the other 18 patches are
> intended for the kernel v5.3 merge window. Please consider these patches.
> 
> Thanks,
> 
> Bart.
> 
> Bart Van Assche (20):
>  qla2xxx: Include the <asm/unaligned.h> header file from qla_dsd.h
>  qla2xxx: Really fix abort handling
>  qla2xxx: Remove an include directive from qla_mr.c
>  qla2xxx: Remove a forward declaration
>  qla2xxx: Declare the fourth ql_dump_buffer() argument const
>  qla2xxx: Change the return type of qla2x00_update_ms_fdmi_iocb() into
>    void
>  qla2xxx: Reduce the scope of three local variables in
>    qla2xxx_queuecommand()
>  qla2xxx: Declare qla_tgt_cmd.cdb const
>  qla2xxx: Change data_dsd into an array
>  qla2xxx: Verify locking assumptions at runtime
>  qla2xxx: Reduce the number of casts in GID list code
>  qla2xxx: Improve Linux kernel coding style conformance
>  qla2xxx: Remove two superfluous if-tests
>  qla2xxx: Simplify qlt_lport_dump()
>  qla2xxx: Introduce qla2x00_els_dcmd2_free()
>  qla2xxx: Remove a superfluous pointer check
>  qla2xxx: Remove two superfluous tests
>  qla2xxx: Fix session lookup in qlt_abort_work()
>  qla2xxx: Introduce the be_id_t and le_id_t data types for FC src/dst
>    IDs
>  qla2xxx: Fix qla24xx_abort_sp_done()
> 
> drivers/scsi/qla2xxx/qla_dbg.c     |   3 +-
> drivers/scsi/qla2xxx/qla_def.h     |  75 ++++++++++--
> drivers/scsi/qla2xxx/qla_dfs.c     |   9 +-
> drivers/scsi/qla2xxx/qla_dsd.h     |   2 +
> drivers/scsi/qla2xxx/qla_gbl.h     |   4 +-
> drivers/scsi/qla2xxx/qla_gs.c      |  41 +++----
> drivers/scsi/qla2xxx/qla_init.c    |  42 +++----
> drivers/scsi/qla2xxx/qla_iocb.c    |  44 ++++----
> drivers/scsi/qla2xxx/qla_mr.c      |   1 -
> drivers/scsi/qla2xxx/qla_nvme.c    |   4 +-
> drivers/scsi/qla2xxx/qla_nvme.h    |   2 +-
> drivers/scsi/qla2xxx/qla_nx.c      |  10 +-
> drivers/scsi/qla2xxx/qla_nx.h      |  14 +--
> drivers/scsi/qla2xxx/qla_os.c      |  40 ++++---
> drivers/scsi/qla2xxx/qla_target.c  | 176 +++++++++++------------------
> drivers/scsi/qla2xxx/qla_target.h  |  35 ++----
> drivers/scsi/qla2xxx/tcm_qla2xxx.c |  23 +---
> 17 files changed, 250 insertions(+), 275 deletions(-)
> 
> -- 
> 2.22.0.rc1
>
Martin K. Petersen June 6, 2019, 2:05 a.m. UTC | #2
Himanshu,

> Thanks for the series. We will provide ACK after these patches have
> gone through our internal testing.

Ping on this series. Thanks!
Himanshu Madhani June 6, 2019, 3:54 p.m. UTC | #3
Hi Martin, 

> On Jun 5, 2019, at 7:05 PM, Martin K. Petersen <martin.petersen@oracle.com> wrote:
> 
> External Email
> 
> ----------------------------------------------------------------------
> 
> Himanshu,
> 
>> Thanks for the series. We will provide ACK after these patches have
>> gone through our internal testing.
> 
> Ping on this series. Thanks!
> 
> -- 
> Martin K. Petersen	Oracle Linux Engineering


Sorry for delay. I need bit more time. I will let my automation work thru weekend 
and will respond in early next week


Thanks,
Himanshu
Martin K. Petersen June 6, 2019, 9:57 p.m. UTC | #4
Himanshu,

> Sorry for delay. I need bit more time. I will let my automation work
> thru weekend and will respond in early next week

OK, thanks!
Himanshu Madhani June 11, 2019, 6:12 p.m. UTC | #5
Hi Martin, 

> On Jun 6, 2019, at 2:57 PM, Martin K. Petersen <martin.petersen@oracle.com> wrote:
> 
> 
> Himanshu,
> 
>> Sorry for delay. I need bit more time. I will let my automation work
>> thru weekend and will respond in early next week
> 
> OK, thanks!
> 

I am running into issue with this series applied on my tree while executing abort path. 

Investigating if the issue is introduced by this series or not.

stack trace does not have qla2xxx signature but since this series has changes for abort path I am holding off on providing 
ACK on this series until we fully understand what is triggering issue.

> -- 
> Martin K. Petersen	Oracle Linux Engineering

Thanks,
Himanshu
Bart Van Assche June 11, 2019, 7:27 p.m. UTC | #6
On 6/11/19 11:12 AM, Himanshu Madhani wrote:
> I am running into issue with this series applied on my tree while executing abort path. 
> 
> Investigating if the issue is introduced by this series or not.
> 
> stack trace does not have qla2xxx signature but since this series has changes for abort path I am holding off on providing 
> ACK on this series until we fully understand what is triggering issue.

Hi Himanshu,

Can you share that stack trace such that I can help analyzing it?

You may want to know that I have another patch series ready with bug
fixes that I have not yet posted because I was waiting for feedback on
this patch series.

Thanks,

Bart.
Himanshu Madhani June 12, 2019, 6:14 a.m. UTC | #7
Hello Bart, 


> On Jun 11, 2019, at 12:27 PM, Bart Van Assche <bvanassche@acm.org> wrote:
> 
> On 6/11/19 11:12 AM, Himanshu Madhani wrote:
>> I am running into issue with this series applied on my tree while executing abort path. 
>> 
>> Investigating if the issue is introduced by this series or not.
>> 
>> stack trace does not have qla2xxx signature but since this series has changes for abort path I am holding off on providing 
>> ACK on this series until we fully understand what is triggering issue.
> 
> Hi Himanshu,
> 
> Can you share that stack trace such that I can help analyzing it?
> 
> You may want to know that I have another patch series ready with bug
> fixes that I have not yet posted because I was waiting for feedback on
> this patch series.
> 
> Thanks,
> 
> Bart.
> 


Here’s command that I am running in my script

# sg_reset -b /dev/mapper/mpathb
sg_reset: SG_SCSI_RESET failed: Resource temporarily unavailable

# sg_reset -H /dev/mapper/mpathb
sg_reset: SG_SCSI_RESET failed: Resource temporarily unavailable

# sg_reset -b /dev/mapper/mpathb
sg_reset: SG_SCSI_RESET failed: Resource temporarily unavailable

Here’s stack trace after applying your patch series

10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: INFO: task java:37924 blocked for more than 122 seconds.
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel:      Tainted: G        W  OE     5.2.0-rc3+ #26
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: java            D    0 37924  37229 0x00000080
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: Call Trace:
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __schedule+0x2a9/0x650
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: schedule+0x33/0x90
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: io_schedule+0x12/0x40
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: __blkdev_direct_IO_simple+0x234/0x420
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x40/0x70
10:59:48.953 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to+0x108/0x3f0
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? blkdev_iopoll+0x30/0x30
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: blkdev_direct_IO+0x42e/0x4a0
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? current_time+0x46/0x80
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? atime_needs_update+0x6c/0xd0
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: generic_file_read_iter+0xb1/0xc70
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? blk_finish_plug+0x27/0x40
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? blkdev_write_iter+0xb2/0x120
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: new_sync_read+0x118/0x1c0
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: vfs_read+0x89/0x140
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ksys_pread64+0x62/0x90
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: do_syscall_64+0x5b/0x1b0
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RIP: 0033:0x7f351008f013
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: Code: Bad RIP value.
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RSP: 002b:00007f3417dfc7b0 EFLAGS: 00000293 ORIG_RAX: 0000000000000011
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f351008f013
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RDX: 0000000000001000 RSI: 00007f340c001000 RDI: 000000000000000e
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RBP: 00007f3417dfc940 R08: 00007f340c001000 R09: 00007ffc8d1eb0a0
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: R10: 0000000000d7c000 R11: 0000000000000293 R12: 0000000000000000
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: R13: 0000000000000001 R14: 00007f3417dfc9f8 R15: 00007f3434017a40
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: INFO: task java:37925 blocked for more than 122 seconds.
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel:      Tainted: G        W  OE     5.2.0-rc3+ #26
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: java            D    0 37925  37229 0x00000080
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: Call Trace:
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __schedule+0x2a9/0x650
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: schedule+0x33/0x90
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: io_schedule+0x12/0x40
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: __blkdev_direct_IO_simple+0x234/0x420
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x40/0x70
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? common_interrupt+0xa/0xf
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? call_function_single_interrupt+0xa/0x20
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? blkdev_iopoll+0x30/0x30
10:59:48.954 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: blkdev_direct_IO+0x42e/0x4a0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? current_time+0x46/0x80
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? atime_needs_update+0x6c/0xd0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: generic_file_direct_write+0xcb/0x170
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: __generic_file_write_iter+0xb7/0x1c0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: blkdev_write_iter+0x9b/0x120
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: new_sync_write+0x11e/0x1a0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: vfs_write+0xad/0x1b0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ksys_pwrite64+0x62/0x90
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: do_syscall_64+0x5b/0x1b0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RIP: 0033:0x7f351008f073
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: Code: Bad RIP value.
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RSP: 002b:00007f3417bfa7b0 EFLAGS: 00000293 ORIG_RAX: 0000000000000012
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f351008f073
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RDX: 0000000000001000 RSI: 00007f3400003000 RDI: 000000000000000e
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RBP: 00007f3417bfa940 R08: 00007f3400003000 R09: 00007ffc8d1eb0a0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: R10: 00000000006ec000 R11: 0000000000000293 R12: 0000000000000000
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: R13: 0000000000000001 R14: 00007f3417bfa9f8 R15: 00007f343401aa80
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: INFO: task java:37926 blocked for more than 122 seconds.
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel:      Tainted: G        W  OE     5.2.0-rc3+ #26
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: java            D    0 37926  37229 0x00000080
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: Call Trace:
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __schedule+0x2a9/0x650
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: schedule+0x33/0x90
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: io_schedule+0x12/0x40
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: __blkdev_direct_IO_simple+0x234/0x420
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x40/0x70
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to+0x108/0x3f0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? __switch_to_asm+0x34/0x70
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? blkdev_iopoll+0x30/0x30
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: blkdev_direct_IO+0x42e/0x4a0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? current_time+0x46/0x80
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ? atime_needs_update+0x6c/0xd0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: generic_file_direct_write+0xcb/0x170
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: __generic_file_write_iter+0xb7/0x1c0
10:59:48.955 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: blkdev_write_iter+0x9b/0x120
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: new_sync_write+0x11e/0x1a0
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: vfs_write+0xad/0x1b0
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: ksys_pwrite64+0x62/0x90
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: do_syscall_64+0x5b/0x1b0
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RIP: 0033:0x7f351008f073
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: Code: Bad RIP value.
10:59:48.956 /var/log/messages: Jun 11 10:59:47 dut5108 kernel: RSP: 002b:00007f3417af97b0 EFLAGS: 00000293 ORIG_RAX: 0000000000000012
Bart Van Assche June 12, 2019, 8:54 p.m. UTC | #8
On 6/11/19 11:14 PM, Himanshu Madhani wrote:
> Here’s command that I am running in my script
> 
> # sg_reset -b /dev/mapper/mpathb
> sg_reset: SG_SCSI_RESET failed: Resource temporarily unavailable
> 
> # sg_reset -H /dev/mapper/mpathb
> sg_reset: SG_SCSI_RESET failed: Resource temporarily unavailable
> 
> # sg_reset -b /dev/mapper/mpathb
> sg_reset: SG_SCSI_RESET failed: Resource temporarily unavailable
> 
> Here’s stack trace after applying your patch series
> [ ... ]

Hi Himanshu,

Thank you for having shared your test case and also for having shared 
the call trace. While reviewing my own patches I noticed that patch 
20/20 needs further work. I will retest without that patch and get back 
to you.

Bart.