alsa soc驅動的snd_soc_dai_link陣列中新增一路stream,所有引數配置正確,但音效卡始終註冊失敗。
關鍵log:
<3>[ 1.010918](2)soc-audio soc-audio: asoc: failed to register soundcard -16
error no:-ebusy (-16)
關鍵原因:
音效卡裝置較多,但沒有開啟config_snd_dynamic_minors這個巨集。
分析過程:
1.定位log位置:
跟蹤**實現,追查報錯ebusy的位置,最終定位到如下函式:
在執行snd_register_device時,會在snd_minors陣列中查詢空閒的index,用於儲存音效卡相關資訊,
傳入的引數就是音效卡裝置的幾大關鍵資訊:type、card及device id。
而問題原因就是snd_minors[minor]不為0,也就是說minor對應的id已經被註冊,minor的計算方式如下(card<<5|dev),其中dev = type + device,而從下面的巨集定義就可以發現:c0d0c與c0d8p計算的minor都為24,因此發生了busy。
而通過**我們也可以發現,config_snd_dynamic_minors這個巨集開啟後,使用的是snd_find_free_minor的另一種實現,這種實現則不會存在這種問題,因此解決方式選擇開啟這個巨集。
Etcd 新增節點
參考部落格 測試系統 centos 6.5 測試etcd版本 3.1.6 測試分布式etcd 節點個數 3 etcd 新增節點測試 資源有限。我們先刪除乙個節點,再新增節點 新增節點 1.已處於健康狀態的節點終端傳送指令 etcdctl member add infra3 終端會返回 新增節點下次啟...
greenplum節點新增
1.修改記憶體引數,修改io排程,參考gp官方文件 2.掛載新磁碟,新增fstab 3.root使用者配置互信 1 su 2 source usr local greenplum db greenplum path.sh 3 gpssh exkeys e home gpadmin existing ...
quantumult x 新增節點
相較shadowrocket傻瓜式即裝即用,qx的操作比較隱晦,頗有一副沒事找事的欠扁樣,比如最基本的節點新增可能就讓新司機一臉懵比。qx可以通過 節點 選單新增,四個選項分別為 新增 新增單一節點 引用 訂閱 新增訂閱鏈結 ss url 通過ss 鏈結新增 掃碼 掃碼新增 13只能新增ss節點,方...