UART Interrupt get Masked,when Ethernet link is connected and disconnected-AT91SAM9G4
Hi every one,
I am developing a system, which includes AT91SAM9G45 with Linux kernel 2.6.30.
I am using a uart for communication with master device,and also one in built Ethernet and three external Ethernet(ax88796).
I have written driver for uart, uart runs on interrupt.I have used ax88796 kernel driver for external Ethernet ports.
My communication on uart is like this:
1>Master device poll by sending 0x00 with parity bit one.
2>As my device receives it, it sends 0x00 with parity bit zero to master device. Note that my device has to answer with in 2 ms after receiving 0x00 with parity bit one from master device.If my device fails than master device declare my device absent OR even if my device do not answer any poll command than also master declare my device absent.
The issue is that when i connect and disconnect Ethernet cable from switch to any of my four Ethernet port randomly.Than Some times my uart interrupt get masked and my device fails to answer master device with in 2 ms.So master device declare my device as absent one.
I am not sure but i think it may be due to Ethernet interrupt, when kernel execute Ethernet related code it disables all other interrupts, is it so..
kindly direct me in right way.