eTSEC gianfar driver patch

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

eTSEC gianfar driver patch

1,279 Views
ivanlukyanchuk
Contributor I

Hello!

This patch correct bug with flow control function.

Driver has bug, which result is wrong behaviour when flow control is active.

Setting of variable priv->tx_actual_en is wrong. So eTSECx_RFBPTRn not changed in gfar_clean_rx_ring().

Patch correct the problem.

Original Attachment has been moved to: gianfar.patch.zip

0 Kudos
7 Replies

901 Views
Pavel
NXP Employee
NXP Employee

You are right. This code is incorrect. This information was sent to the factory.


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

901 Views
Pavel
NXP Employee
NXP Employee

What incorrect behavior do you see if SDK 1.9 gainfar driver is used?
Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

901 Views
ivanlukyanchuk
Contributor I

Hello!

I like this post!

Are you really dont undestand me?

My english is so bad?

Incorrect behavior: eTSECx_RFBPTRn not changed.

I think that eTSECx_RFBPTRn must be changed by gianfar when Flow Control is active.

You are not agree with this statement?

Do you think, that eTSECx_RFBPTRn must not be changed, and gianfar driver not contain the bug?

Regards,

Ivan

0 Kudos

901 Views
Pavel
NXP Employee
NXP Employee

Your patch and function gfar_clean_rx_ring() do not change the priv->tx_actual_en variables.

See attached file.

What incorrect behavior do you see if SDK 1.9 gainfar driver is used?


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

901 Views
ivanlukyanchuk
Contributor I

Hello!

Please see code of function gfar_update_link_state(). In this function see initialization of priv->tx_actual_en.

After that see my patch.

After that see how wrong initialization of priv->tx_actual_en affect on "eTSECx_RFBPTRn not changed in gfar_clean_rx_ring()".

Regards,

Ivan

0 Kudos

901 Views
ivanlukyanchuk
Contributor I

Hello, Pavel.

I use linux qoriq SDK 1.9 with P1020. Board is developed by our company.

But error exists in all versions of gianfar driver, which includes qoriq SDK 2.0.

Wrong behaviour: Setting of variable priv->tx_actual_en is wrong. So eTSECx_RFBPTRn not changed in gfar_clean_rx_ring().

Please see code, patch is easy.

Regards,

Ivan

0 Kudos

901 Views
Pavel
NXP Employee
NXP Employee

Could you send additional information about this wrong behavior?

What errors behavior do you see?

What SDK do you use?

What board do you use?


Have a great day,
Pavel Chubakov

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos