亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3668 | 回復(fù): 4
打印 上一主題 下一主題

request_irq(dev->irq, ....)時(shí)候,有時(shí)候發(fā)現(xiàn)dev->irq是0,驚奇? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-08-19 21:02 |只看該作者 |倒序?yàn)g覽
request_irq(dev->irq, ....)時(shí)候,多數(shù)時(shí)間正常,但偶爾有時(shí)候發(fā)現(xiàn)dev->irq是0,中斷無法加載,驚奇?不知道大家碰到過這樣的情況?
我猜是系統(tǒng)硬件干擾等問題,軟件怎么也不會(huì)讀寫dev->irq為零?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2007-08-19 23:06 |只看該作者
還有這種事?

論壇徽章:
4
戌狗
日期:2013-08-15 18:22:43技術(shù)圖書徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39處女座
日期:2013-12-25 11:26:10
3 [報(bào)告]
發(fā)表于 2007-08-20 10:11 |只看該作者
BIOS初始化PCI設(shè)備的時(shí)候,有可能錯(cuò)誤的分配irq。
kernel在pcibios_init的時(shí)候,并不糾正錯(cuò)誤,只是寫dev->irq = 0。
當(dāng)你注冊(cè)了這個(gè)PCI設(shè)備的驅(qū)動(dòng)后,驅(qū)動(dòng)函數(shù)中的XXX_pci_probe應(yīng)該負(fù)責(zé)糾正這種錯(cuò)誤。
一般都是在XXX_pci_probe開頭,判斷一下vender,class.......后,就馬上pci_enable_device ,XXX_pci_probe -> pci_enable_device -> pcibios_enable_device -> pcibios_enable_irq -> pcibios_lookup_irq ( dev,1) 。
pcibios_lookup_irq ( dev,1) 的第二個(gè)參數(shù)為1時(shí),糾正dev -> irq錯(cuò)誤



如果到了request_irq的時(shí)候,dev->irq還是0的話,那么是驅(qū)動(dòng)寫的有毛病,而不是kernel有毛病。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2007-08-20 20:54 |只看該作者
原帖由 塑料袋 于 2007-8-20 10:11 發(fā)表
BIOS初始化PCI設(shè)備的時(shí)候,有可能錯(cuò)誤的分配irq。
kernel在pcibios_init的時(shí)候,并不糾正錯(cuò)誤,只是寫dev->irq = 0。
當(dāng)你注冊(cè)了這個(gè)PCI設(shè)備的驅(qū)動(dòng)后,驅(qū)動(dòng)函數(shù)中的XXX_pci_probe應(yīng)該負(fù)責(zé)糾正這種錯(cuò)誤。
一般 ...

>>BIOS初始化PCI設(shè)備的時(shí)候,有可能錯(cuò)誤的分配irq。
是指BIOS在掃描pci總線后填寫設(shè)備的的PCI Configure Space中的interrupt line時(shí)出錯(cuò)嗎?

論壇徽章:
4
戌狗
日期:2013-08-15 18:22:43技術(shù)圖書徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39處女座
日期:2013-12-25 11:26:10
5 [報(bào)告]
發(fā)表于 2007-08-22 16:32 |只看該作者
假如是2片8259A,最大irq是15.

1) BIOS寫pci設(shè)備的interrupt_line時(shí),可能寫的是個(gè)錯(cuò)的,或者沒寫.

2) init進(jìn)程遍歷一遍所有pci_dev,pci_dev -> irq  >  15 的一律pci_dev -> irq = 0,這部分pci_dev也歸結(jié)到BIOS未分配irq的那類pci_dev中.

3)init進(jìn)程遍歷一遍滿足如下條件的pci_dev
           a) BIOS未分配irq
           b) router事實(shí)上,已經(jīng)為這個(gè)pci_dev選擇好了irq.
   讀出router設(shè)置的這個(gè)irq,寫到pci_dev -> irq.


kernel做到這步就不管了,還可能剩下部分pci_dev,bios也沒有為其分配irq,router也沒有為這個(gè)pci_dev選擇irq. 但這部分pci_dev怎么處理,完全是驅(qū)動(dòng)模塊的事.

驅(qū)動(dòng)模塊里的probe函數(shù)中,要調(diào)用修改router設(shè)置的函數(shù), 如沒有修改router設(shè)置,也沒有驗(yàn)證router是否設(shè)置成功,就直接request_irq,應(yīng)該是驅(qū)動(dòng)的錯(cuò)誤.
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP