summaryrefslogtreecommitdiff
path: root/cesar/hal/phy/src/phy.c
diff options
context:
space:
mode:
authorschodet2009-10-14 16:20:04 +0000
committerschodet2009-10-14 16:20:04 +0000
commit1960307e754418846d5705644d0f0c8a000dd0b3 (patch)
tree0016f6b509b2df3428a5d9ed5ca26ed3610b0304 /cesar/hal/phy/src/phy.c
parent8de6ed563796f7350f8726287e3d1ab0f244f8ff (diff)
cesar/hal/phy: init tx on congestion, refs #632
git-svn-id: svn+ssh://pessac/svn/cesar/trunk@6123 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/hal/phy/src/phy.c')
-rw-r--r--cesar/hal/phy/src/phy.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/cesar/hal/phy/src/phy.c b/cesar/hal/phy/src/phy.c
index 43d725a028..33e10546a1 100644
--- a/cesar/hal/phy/src/phy.c
+++ b/cesar/hal/phy/src/phy.c
@@ -34,10 +34,10 @@
| BITS_MASK (1, LEON_ITC2_IT__PRATIC_ACCESS) \
| BITS_MASK (1, LEON_ITC2_IT__PRATIC_INTERRUPT) \
| BITS_MASK (1, LEON_ITC2_IT__PB_DMA_END) \
+ | BITS_MASK (1, LEON_ITC2_IT__CONGESTION_TX_ERROR) \
| (!CONFIG_PHY_TRACE_MORE ? 0 : \
BITS_MASK (1, LEON_ITC2_IT__MAPPOWSE_END_TX_FRAME) \
- | BITS_MASK (1, LEON_ITC2_IT__PB_DMA_ERROR) \
- | BITS_MASK (1, LEON_ITC2_IT__CONGESTION_TX_ERROR)))
+ | BITS_MASK (1, LEON_ITC2_IT__PB_DMA_ERROR)))
/** Length of SYNCP portion of the Preamble (+1 for hardware detection
* delay). */
@@ -176,6 +176,12 @@ phy_isr (cyg_vector_t vector, cyg_addrword_t data)
PHY_PRATIC_TIMER_5_EFFECTIVE_DATE);
call_dsr = ctx->extra_timer_cb (ctx->user_data);
}
+ else if (it == LEON_ITC2_IT__CONGESTION_TX_ERROR)
+ {
+ PHY_TRACE (TX_CONGESTION, phy_date (ctx));
+ PHY_PRATIC_IMMEDIATE_ACTION = PHY_PRATIC_ACTION__INIT_TX;
+ call_dsr = false;
+ }
else if (CONFIG_PHY_TRACE_MORE
&& it == LEON_ITC2_IT__MAPPOWSE_END_TX_FRAME)
{
@@ -188,12 +194,6 @@ phy_isr (cyg_vector_t vector, cyg_addrword_t data)
PHY_TRACE (PBDMA_ERROR, phy_date (ctx), PHY_PBDMA_STATUS_ERROR);
call_dsr = false;
}
- else if (CONFIG_PHY_TRACE_MORE
- && it == LEON_ITC2_IT__CONGESTION_TX_ERROR)
- {
- PHY_TRACE (TX_CONGESTION, phy_date (ctx));
- call_dsr = false;
- }
else
{
dbg_assert_default ();