From 3d10dbb408c59051f56b372b652f9d0b15e14a25 Mon Sep 17 00:00:00 2001 From: Cyril Jourdan Date: Mon, 12 Aug 2013 14:15:45 +0200 Subject: cesar/hal/phy: correct bridgedma stopped test loop, refs #4110 --- cesar/hal/phy/src/bridgedma.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'cesar/hal') diff --git a/cesar/hal/phy/src/bridgedma.c b/cesar/hal/phy/src/bridgedma.c index 31d9c20f87..1fc2490e6c 100644 --- a/cesar/hal/phy/src/bridgedma.c +++ b/cesar/hal/phy/src/bridgedma.c @@ -271,10 +271,11 @@ phy_bridgedma_jobs_get_ended (phy_bridgedma_t *ctx) void phy_bridgedma_stopped (phy_bridgedma_t *ctx) { - u32 expired = phy_date () + MAC_MS_TO_TCK (PHY_BRG_POLLING_WAIT_MS); - while (_phy_bridgedma_status (ctx) && less_mod2p32 (phy_date (), expired)) + u32 loop_date = phy_date (); + u32 expired = loop_date + MAC_MS_TO_TCK (PHY_BRG_POLLING_WAIT_MS); + for (; _phy_bridgedma_status (ctx) && less_mod2p32 (loop_date, expired); + loop_date = phy_date ()) ; - dbg_assert_print (_phy_bridgedma_status (ctx) - || less_mod2p32 (phy_date (), expired), - "Bridge DMA freezed"); + + dbg_assert_print (less_mod2p32 (loop_date, expired), "Bridge DMA frozen"); } -- cgit v1.2.3