#pragma once

#define PRODUCT_ID   0xAD01
#define PRODUCT      Adelais
#define DESCRIPTION  Team.Mechlovin Adelais

#define BACKLIGHT_PIN B0
#define BACKLIGHT_BREATHING
#define BACKLIGHT_PWM_DRIVER PWMD3
#define BACKLIGHT_PWM_CHANNEL 3

#define RGB_DI_PIN A7
#define RGBLED_NUM 23
#define RGBLIGHT_LIMIT_VAL 255
#define RGBLIGHT_ANIMATIONS
/atom/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5' type='application/atom+xml'/>
<link rel='vcs-git' href='git://git.panaceas.org/openwrt/upstream' title='openwrt/upstream Git repository'/>
<link rel='vcs-git' href='ssh://git@git.panaceas.org/git/openwrt/upstream' title='openwrt/upstream Git repository'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/cgit.cgi/'><img src='/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/cgit.cgi/'>index</a> : <a title='openwrt/upstream' href='/cgit.cgi/openwrt/upstream/'>openwrt/upstream</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='23145d427613ee9b982cec25d187b41cc938f27a'/><select name='h' onchange='this.form.submit();'>
<option value='attitude_adjustment'>attitude_adjustment</option>
<option value='barrier_breaker'>barrier_breaker</option>
<option value='chaos_calmer'>chaos_calmer</option>
<option value='lede-17.01'>lede-17.01</option>
<option value='less-old-master'>less-old-master</option>
<option value='master'>master</option>
<option value='old-master'>old-master</option>
<option value='openwrt-18.06'>openwrt-18.06</option>
<option value='openwrt-19.07'>openwrt-19.07</option>
<option value='upstream'>upstream</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>upstream openwrt</td><td class='sub right'>James</td></tr></table>
<table class='tabs'><tr><td>
<a href='/cgit.cgi/openwrt/upstream/about/?h=v18.06.5'>about</a><a href='/cgit.cgi/openwrt/upstream/?h=v18.06.5'>summary</a><a href='/cgit.cgi/openwrt/upstream/refs/?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>refs</a><a href='/cgit.cgi/openwrt/upstream/log/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5'>log</a><a class='active' href='/cgit.cgi/openwrt/upstream/tree/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>tree</a><a href='/cgit.cgi/openwrt/upstream/commit/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>commit</a><a href='/cgit.cgi/openwrt/upstream/diff/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>diff</a><a href='/cgit.cgi/openwrt/upstream/stats/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5'>stats</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/openwrt/upstream/log/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch'>
<input type='hidden' name='h' value='v18.06.5'/><input type='hidden' name='id' value='23145d427613ee9b982cec25d187b41cc938f27a'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit.cgi/openwrt/upstream/tree/?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>root</a>/<a href='/cgit.cgi/openwrt/upstream/tree/target?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>target</a>/<a href='/cgit.cgi/openwrt/upstream/tree/target/linux?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>linux</a>/<a href='/cgit.cgi/openwrt/upstream/tree/target/linux/generic?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>generic</a>/<a href='/cgit.cgi/openwrt/upstream/tree/target/linux/generic/pending-4.9?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>pending-4.9</a>/<a href='/cgit.cgi/openwrt/upstream/tree/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>821-usb-Remove-annoying-warning-about-bogus-URB.patch</a></div><div class='content'>blob: dc60557f4e25d1e3edfc93cec8542f808f11e645 (<a href='/cgit.cgi/openwrt/upstream/plain/target/linux/generic/pending-4.9/821-usb-Remove-annoying-warning-about-bogus-URB.patch?h=v18.06.5&amp;id=23145d427613ee9b982cec25d187b41cc938f27a'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
<a id='n10' href='#n10'>10</a>
<a id='n11' href='#n11'>11</a>
<a id='n12' href='#n12'>12</a>
<a id='n13' href='#n13'>13</a>
<a id='n14' href='#n14'>14</a>
<a id='n15' href='#n15'>15</a>
<a id='n16' href='#n16'>16</a>
<a id='n17' href='#n17'>17</a>
<a id='n18' href='#n18'>18</a>
<a id='n19' href='#n19'>19</a>
<a id='n20' href='#n20'>20</a>
<a id='n21' href='#n21'>21</a>
<a id='n22' href='#n22'>22</a>
<a id='n23' href='#n23'>23</a>
<a id='n24' href='#n24'>24</a>
<a id='n25' href='#n25'>25</a>
<a id='n26' href='#n26'>26</a>
<a id='n27' href='#n27'>27</a>
<a id='n28' href='#n28'>28</a>
<a id='n29' href='#n29'>29</a>
<a id='n30' href='#n30'>30</a>
<a id='n31' href='#n31'>31</a>
<a id='n32' href='#n32'>32</a>
<a id='n33' href='#n33'>33</a>
<a id='n34' href='#n34'>34</a>
<a id='n35' href='#n35'>35</a>
<a id='n36' href='#n36'>36</a>
<a id='n37' href='#n37'>37</a>
<a id='n38' href='#n38'>38</a>
<a id='n39' href='#n39'>39</a>
<a id='n40' href='#n40'>40</a>
<a id='n41' href='#n41'>41</a>
<a id='n42' href='#n42'>42</a>
<a id='n43' href='#n43'>43</a>
<a id='n44' href='#n44'>44</a>
<a id='n45' href='#n45'>45</a>
<a id='n46' href='#n46'>46</a>
<a id='n47' href='#n47'>47</a>
<a id='n48' href='#n48'>48</a>
<a id='n49' href='#n49'>49</a>
<a id='n50' href='#n50'>50</a>
<a id='n51' href='#n51'>51</a>
<a id='n52' href='#n52'>52</a>
<a id='n53' href='#n53'>53</a>
<a id='n54' href='#n54'>54</a>
<a id='n55' href='#n55'>55</a>
<a id='n56' href='#n56'>56</a>
<a id='n57' href='#n57'>57</a>
<a id='n58' href='#n58'>58</a>
<a id='n59' href='#n59'>59</a>
<a id='n60' href='#n60'>60</a>
<a id='n61' href='#n61'>61</a>
<a id='n62' href='#n62'>62</a>
<a id='n63' href='#n63'>63</a>
<a id='n64' href='#n64'>64</a>
<a id='n65' href='#n65'>65</a>
<a id='n66' href='#n66'>66</a>
<a id='n67' href='#n67'>67</a>
<a id='n68' href='#n68'>68</a>
<a id='n69' href='#n69'>69</a>
<a id='n70' href='#n70'>70</a>
<a id='n71' href='#n71'>71</a>
<a id='n72' href='#n72'>72</a>
<a id='n73' href='#n73'>73</a>
<a id='n74' href='#n74'>74</a>
<a id='n75' href='#n75'>75</a>
<a id='n76' href='#n76'>76</a>
</pre></td>
<td class='lines'><pre><code><style>pre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span>From: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Subject: usb: Remove annoying warning about bogus URB

When ath9k-htc Wi-Fi dongle is used with generic OHCI controller
infinite stream of warnings appears in debug console like this:
<span class="gd">--------------------------&gt;8----------------------</span>
usb 1-1: new full-speed USB device number 2 using ohci-platform
usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size:
51008
<span class="gd">------------[ cut here ]------------</span>
WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
usb_submit_urb+0x1b4/0x498()
usb 1-1: BOGUS urb xfer, pipe 1 != type 3
Modules linked in:
CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted
4.4.0-rc4-00017-g00e2d79-dirty #3
Workqueue: events request_firmware_work_func

Stack Trace:
  arc_unwind_core.constprop.1+0xa4/0x110
<span class="gd">---[ end trace 649ef8c342817fc2 ]---</span>
<span class="gd">------------[ cut here ]------------</span>
WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
usb_submit_urb+0x1b4/0x498()
usb 1-1: BOGUS urb xfer, pipe 1 != type 3
Modules linked in:
CPU: 0 PID: 19 Comm: kworker/0:1 Tainted: G        W
4.4.0-rc4-00017-g00e2d79-dirty #3
Workqueue: events request_firmware_work_func

Stack Trace:
  arc_unwind_core.constprop.1+0xa4/0x110
<span class="gd">---[ end trace 649ef8c342817fc3 ]---</span>
<span class="gd">------------[ cut here ]------------</span>
<span class="gd">--------------------------&gt;8----------------------</span>

There&#39;re some discussions in mailing lists proposing to disable
that particular check alltogether and magically all seem to work
fine with muted warning.

Anyways new thread on that regard could be found here:
http://lists.infradead.org/pipermail/linux-snps-arc/2016-July/001310.html

Let&#39;s see what comes out of that new discussion, hopefully patching
of generic USB stuff won&#39;t be required then.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
<span class="gd">---</span>
 drivers/usb/core/urb.c | 5 -----
 1 file changed, 5 deletions(-)

<span class="gd">--- a/drivers/usb/core/urb.c</span>
<span class="gi">+++ b/drivers/usb/core/urb.c</span>
<span class="gu">@@ -321,9 +321,6 @@ EXPORT_SYMBOL_GPL(usb_unanchor_urb);</span>
  */
 int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
 {
<span class="gd">-	static int			pipetypes[4] = {</span>
<span class="gd">-		PIPE_CONTROL, PIPE_ISOCHRONOUS, PIPE_BULK, PIPE_INTERRUPT</span>
<span class="gd">-	};</span>
 	int				xfertype, max;
 	struct usb_device		*dev;
 	struct usb_host_endpoint	*ep;
<span class="gu">@@ -441,11 +438,6 @@ int usb_submit_urb(struct urb *urb, gfp_</span>
 	 * cause problems in HCDs if they get it wrong.
 	 */
 
<span class="gd">-	/* Check that the pipe&#39;s type matches the endpoint&#39;s type */</span>
<span class="gd">-	if (usb_pipetype(urb-&gt;pipe) != pipetypes[xfertype])</span>
<span class="gd">-		dev_WARN(&amp;dev-&gt;dev, &quot;BOGUS urb xfer, pipe %x != type %x\n&quot;,</span>
<span class="gd">-			usb_pipetype(urb-&gt;pipe), pipetypes[xfertype]);</span>
<span class="gd">-</span>
 	/* Check against a simple/standard policy */
 	allowed = (URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT | URB_DIR_MASK |
 			URB_FREE_BUFFER);
</pre></div>
</code></pre></td></tr></table>
</div> <!-- class=content -->
<div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit v1.2.3</a> (<a href='https://git-scm.com/'>git 2.25.1</a>) at 2025-03-11 22:11:55 +0000</div>
</div> <!-- id=cgit -->
</body>
</html>