關於linux解除安裝外部中斷驅動不徹底

2021-09-13 01:51:30 字數 1718 閱讀 4064

問題:解除安裝驅動後,gic中斷號和觸發次數依然存在,解除安裝不徹底

載入驅動列印資訊: 

# cat /proc/interrupts 

cpu0       

29:       2249       gic  twd

32:        249       gic  uart-pl011

35:        265       gic  eth0

36:         12       gic  timer

50:          0       gic  dma-pl330

80:          1       gic  gpio_module

ipi0:          0  cpu wakeup interrupts

ipi1:          0  timer broadcast interrupts

ipi2:          0  rescheduling interrupts

ipi3:          0  function call interrupts

ipi4:          0  single function call interrupts

ipi5:          0  cpu stop interrupts

err:          0

解除安裝驅動列印資訊:

# cat /proc/interrupts 

cpu0       

29:       2353       gic  twd

32:        367       gic  uart-pl011

35:        341       gic  eth0

36:         12       gic  timer

50:          0       gic  dma-pl330

80:          1       gic

ipi0:          0  cpu wakeup interrupts

ipi1:          0  timer broadcast interrupts

ipi2:          0  rescheduling interrupts

ipi3:          0  function call interrupts

ipi4:          0  single function call interrupts

ipi5:          0  cpu stop interrupts

err:          0

載入驅動以後,若沒有觸發中斷,則中斷號、觸發次數和裝置模組都能成功解除安裝;觸發中斷以後就解除安裝不徹底,中斷號和觸發次數還存在

請問有人能幫忙解答疑惑嗎?

請問有人能幫忙解答疑惑嗎?

2019.4.4,在這兩個地方找到相同問題,可以借鑑一下

1.網友回答:

1):呼叫free_irq只是告訴系統,你不關心這個中斷了而已;

2):很多架構裡的中斷本身都是共享的

request_irq();

free_irq();

這兩個函式的最後引數別為null試試

嘗試結果:中斷號依然存在,猜測可能是和核心版本有關係

2.網友回答:

1)linux2.6和linux3.0的版本也會出現中斷號無法解除安裝的情況,猜測是正常情況(本人使用的核心版本是linux-3.10.103)

Linux 裝置驅動 中斷處理

為什麼需要中斷 1,外設的處理速度一般慢於 cpu 2,cpu 不能一直等待外部事件 所以裝置必須有一種方法來通知 cpu 它 的工作進度,這種方法就是中斷.在 linux 驅動程式中,為裝置實現乙個中斷包含兩個步驟 1,向核心註冊中斷 2,實現中斷處理函式 request irq 用於實現中斷的註...

linux 驅動中斷部分學習

學習按鍵中斷,中斷程式可以在中斷函式中一次實現,也可以分開在中斷的上下半部實現,上半部實現緊急的處理,下半部做些不緊急的處理。上下半部的實現分為 軟中斷 tasklet 工作佇列 執行緒中斷。軟中斷和tasklet處理函式中不能睡眠。問題1 今天做工作佇列的實驗,在初始化函式中需要申請中斷號同時初始...

linux驅動學習 linux中斷程式編寫流程

linux中斷 1 確定中斷號 2 申請中斷號 request irq 不用一定要釋放free irq 3 編寫中斷服務函式 request irq unsigned int irq,irq handler t handler,unsigned long flags,const char name,...