[Bug] VCHIQ functional test broken

Russell King - ARM Linux linux at armlinux.org.uk
Thu Apr 13 18:29:15 EDT 2017


On Thu, Apr 13, 2017 at 07:41:48PM +0200, Stefan Wahren wrote:
> > Stefan Wahren <stefan.wahren at i2se.com> hat am 11. April 2017 um 20:10 geschrieben:
> > 
> > 
> > Hi,
> > 
> > recently i found that vchiq_test -f doesn't work anymore with current mainline (4.11-rc6) and linux-next (20170404) on my Raspberry Pi Zero. The issue is always reproducible, but the error behavior isn't deterministic. Sometimes vchiq_test hangs and sometimes i get an error message from vchiq_test like this (but never errors from the kernel):
> > 
> > $ vchiq_test -f 10
> > Functional test - iters:10
> > ======== iteration 1 ========
> > vchiq_test: 1502: expected callback reason VCHIQ_MESSAGE_AVAILABLE, got 1
> > vchiq_test: 1524: expected callback reason VCHIQ_BULK_TRANSMIT_DONE, got 5
> > vchiq_test: 863: func_error != 0
> > 
> > I didn't had the time to bisect, but at least 4.10 is safe.
> > 
> 
> Okay, i've bisected this regression to this commit:
> 
> 00a19f3e25c0c40e0ec77f52d4841d23ad269169 is the first bad commit
> commit 00a19f3e25c0c40e0ec77f52d4841d23ad269169
> Author: Rabin Vincent <rabinv at axis.com>
> Date:   Tue Nov 8 09:21:19 2016 +0100
> 
>     ARM: 8627/1: avoid cache flushing in flush_dcache_page()
>     
>     When the data cache is PIPT or VIPT non-aliasing, and cache operations
>     are broadcast by the hardware, we can always postpone the flush in
>     flush_dcache_page().  A similar change was done for ARM64 in commit
>     b5b6c9e9149d ("arm64: Avoid cache flushing in flush_dcache_page()").
>     
>     Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
>     Signed-off-by: Rabin Vincent <rabinv at axis.com>
>     Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
> 
> It seems that staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm
> relies on the behavior of flush_dcache_page before this patch get
> applied. Any advices to fix this issues are appreciated.

Any ideas why this causes a problem for this driver?  From what I can see,
it doesn't make use of flush_dcache_page().

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.



More information about the linux-arm-kernel mailing list