VLYNQ: vlynq_enable_device should try remote enabling first
PATCH 1/1 VLYNQ: vlynq_enable_device should try remote enabling first
I noticed device lockups on TNETD7200 chips when vlynq_enable_device tried enabling the device in the following order: external -> local -> remote
inverting the external and remote order fixes the lock up and allows normal operation of the remote VLYNQ device on all TNETD generations (7100, 7200, 7300).
---
drivers/vlynq/vlynq.c +3 -3
@@ -516,9 +516,9 @@ static int __vlynq_enable_device(struct vlynq_device *dev) !__vlynq_try_external(dev))return 0 ; }else { -if (!__vlynq_try_external (dev) || - !__vlynq_try_local (dev) || - !__vlynq_try_remote (dev)) +if (!__vlynq_try_remote (dev) || + !__vlynq_try_local (dev) || + !__vlynq_try_external (dev))return 0 ; }break ;
--
1.7.1
Andrew,
Quoted 8 lines · On Friday 11 March 2011 11:57:28 Florian Fainelli wrote:
I noticed device lockups on TNETD7200 chips when
vlynq_enable_devicetried enabling the device in the following order: external -> local -> remoteinverting the external and remote order fixes the lock up and allows normal operation of the remote VLYNQ device on all TNETD generations (7100, 7200, 7300).
Signed-off-by Florian Fainelli <[email protected]>
I did not get a feedback from you whether you applied this patch or not, it is still valid though.
Thank you.
Quoted 20 lines
---
drivers/vlynq/vlynq.c +3
-4@@ -516,9 +516,9 @@ static int __vlynq_enable_device(struct vlynq_device *dev) !__vlynq_try_external(dev))return 0 ; }else { -if (!__vlynq_try_external (dev) || - !__vlynq_try_local (dev) || - !__vlynq_try_remote (dev)) +if (!__vlynq_try_remote (dev) || + !__vlynq_try_local (dev) || + !__vlynq_try_external (dev))return 0 ; }break ; --1.7.1
Signature · 1 line
Florian