Bhadram Varka d1c349ccd0 nvethernet: use IRQ-safe variant of raw spinlock
Issue: Deadlock observed because ptp_lock shared
between process context and Interrupt context.

Below is the scenario where deadlock observed -
1) ether_adjust_freq acquired the lock
2) At the same ether_get_ptptime() called from IRQ context
3) ether_adjust_freq() got preempted and ether_get_ptptime()
trying to aquire the lock again which leads to dead lock.

Fix: Disable the interrupts before aquiring the lock
by using IRQ-safe variant of raw spinlock.

Bug 200591192
Bug 200535378

Change-Id: I6f884883bf9cf93877ddb5d0fb7b2927573a1858
Signed-off-by: Bhadram Varka <vbhadram@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2323211
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
2022-11-01 14:27:08 +05:30
2022-09-10 23:43:40 -07:00
2022-09-07 12:27:01 -07:00
Description
No description provided
34 MiB