<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:383722318;
        mso-list-type:hybrid;
        mso-list-template-ids:-1121130208 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1082141118;
        mso-list-type:hybrid;
        mso-list-template-ids:-1683333100 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I am trying to load a driver for an Exar serial chip, but that chip is gobbled up by the 8250 driver on boot.&nbsp; So, I use the &#8220;unbind&#8221; command in /sys/bus/pci/drivers/serial to remove the device from the clutches of 8250.&nbsp; Based on cobbled
 together google searches, I use the following to unbind it (assuming the address in /sys/bus/pci/drivers/serial is 0000:04:00.0.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">sudo echo -n &#8220;0000:04:00.0&#8221; | tee ./unbind<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">The address disappears from that dir when I do this command, so I&#8217;m assuming it works.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I then go and install the Exar-provided driver.&nbsp; Within about 3 seconds, I then get a system notification that the IRQ used by the Exar driver has been disabled.&nbsp; I can also go look at /proc/interrupts and see a huge amount of interrupts
 happening on that IRQ.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">There&#8217;s a crash message in the log:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[&nbsp; 167.938861] irq 17: nobody cared (try booting with the &quot;irqpoll&quot; option)<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938868] CPU: 0 PID: 801 Comm: Xorg Tainted: G&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O&nbsp; 3.16.6-2-desktop #1<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938871] Hardware name: RTD Embedded Technologies, Inc CMA34CR/CMA34CR, BIOS v3.72.51.0009-1.1.85582 02/09/2015 09:39:58<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938873]&nbsp; ffff880148672cc4 ffffffff8161ab03 ffff880148672c00 ffffffff810b8acd<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938877]&nbsp; ffff880148672c00 0000000000000011 0000000000000000 ffffffff810b9011<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938880]&nbsp; 0000000000000000 0000000000000000 0000000000000011 0000000000000000<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938883] Call Trace:<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938899]&nbsp; [&lt;ffffffff8100519e&gt;] dump_trace&#43;0x8e/0x350<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938905]&nbsp; [&lt;ffffffff81005506&gt;] show_stack_log_lvl&#43;0xa6/0x190<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938909]&nbsp; [&lt;ffffffff81006c01&gt;] show_stack&#43;0x21/0x50<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938914]&nbsp; [&lt;ffffffff8161ab03&gt;] dump_stack&#43;0x49/0x6a<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938922]&nbsp; [&lt;ffffffff810b8acd&gt;] __report_bad_irq&#43;0x2d/0xc0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938928]&nbsp; [&lt;ffffffff810b9011&gt;] note_interrupt&#43;0x241/0x290<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938935]&nbsp; [&lt;ffffffff810b67f1&gt;] handle_irq_event_percpu&#43;0xa1/0x1d0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938940]&nbsp; [&lt;ffffffff810b695e&gt;] handle_irq_event&#43;0x3e/0x60<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938945]&nbsp; [&lt;ffffffff810b9b58&gt;] handle_fasteoi_irq&#43;0x88/0x160<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938949]&nbsp; [&lt;ffffffff810050fd&gt;] handle_irq&#43;0x1d/0x30<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938955]&nbsp; [&lt;ffffffff81624549&gt;] do_IRQ&#43;0x49/0xe0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938959]&nbsp; [&lt;ffffffff816224ad&gt;] common_interrupt&#43;0x6d/0x6d<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938967]&nbsp; [&lt;ffffffff81620dce&gt;] _raw_spin_unlock_irqrestore&#43;0xe/0x30<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938974]&nbsp; [&lt;ffffffff815c3f05&gt;] unix_poll&#43;0x25/0xb0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938980]&nbsp; [&lt;ffffffff81513fa9&gt;] sock_poll&#43;0x49/0x110<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938986]&nbsp; [&lt;ffffffff811caf40&gt;] do_select&#43;0x390/0x7a0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938991]&nbsp; [&lt;ffffffff811cb4e4&gt;] core_sys_select&#43;0x194/0x2b0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938995]&nbsp; [&lt;ffffffff811cb6aa&gt;] SyS_select&#43;0xaa/0xf0<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.938999]&nbsp; [&lt;ffffffff8162182d&gt;] system_call_fastpath&#43;0x1a/0x1f<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.939015]&nbsp; [&lt;00007f7563abda43&gt;] 0x7f7563abda42<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.939016] handlers:<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.939020] [&lt;ffffffffa0549110&gt;] serialxr_interrupt [xr17v35x]<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 167.939023] Disabling IRQ #17<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">So, as near as I can tell, when the Exar driver is inserted, an interrupt flood occurs, and the Exar driver (the only interrupt handler on that IRQ) does not respond to any of them.&nbsp; I put in some debug code and verified that the Exar interrupt
 handler is called&#8230; but the handler just returns with an IRQ_NONE value.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;ve tried:<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">1)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Multiple CPUs from different families (Core i7, Core 2 Duo, AMD G-Series) and it occurs with all of them.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">2)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Kernels 3.16 and 4.2 and it occurs with both of them.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">3)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Disabling ModemManager and it still happens.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">4)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Contacting Exar about this.&nbsp; They could not reproduce the problem.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">5)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>openSUSE 13.2 and Fedora 20.&nbsp; It happened with openSUSE, but NOT with Fedora 20.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">6)<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><![endif]>The reference Exar implementation vs. our implementation, and it occurs with both of them.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Do you have any suggestions on how I can discover what is sending all of those interrupts?&nbsp; Are there kernel tools specifically for that?<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Thank you.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Rob Groner<span style="font-size:10.0pt;font-family:&quot;Times New Roman&quot;,serif">
<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>