/* * Linux driver for TerraTec DMX 6Fire USB * * Author: Torsten Schenk <torsten.schenk@zoho.com> * Created: Jan 01, 2011 * Copyright: (C) Torsten Schenk * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #ifndef USB6FIRE_COMM_H #define USB6FIRE_COMM_H #include "common.h" enum /* settings for comm */ { COMM_RECEIVER_BUFSIZE = 64, }; struct comm_runtime { struct sfire_chip *chip; struct urb receiver; u8 *receiver_buffer; u8 serial; /* urb serial */ void (*init_urb)(struct comm_runtime *rt, struct urb *urb, u8 *buffer, void *context, void(*handler)(struct urb *urb)); /* writes control data to the device */ int (*write8)(struct comm_runtime *rt, u8 request, u8 reg, u8 value); int (*write16)(struct comm_runtime *rt, u8 request, u8 reg, u8 vh, u8 vl); }; int usb6fire_comm_init(struct sfire_chip *chip); void usb6fire_comm_abort(struct sfire_chip *chip); void usb6fire_comm_destroy(struct sfire_chip *chip); #endif /* USB6FIRE_COMM_H */ n value='nds-private-remove'>nds-private-remove</option> <option value='packet-loop-back'>packet-loop-back</option> <option value='packet-rx-pump-back'>packet-rx-pump-back</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>net-next plumbings</td><td class='sub right'>Tobias Klauser</td></tr></table> <table class='tabs'><tr><td> <a href='/cgit.cgi/linux/net-next.git/'>summary</a><a href='/cgit.cgi/linux/net-next.git/refs/?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>refs</a><a href='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/tfa9879.c'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>tree</a><a class='active' href='/cgit.cgi/linux/net-next.git/commit/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/sound/soc/codecs/tfa9879.c'> <input type='hidden' name='id' value='dfef358bd1beb4e7b5c94eca944be9cd23dfc752'/><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/linux/net-next.git/commit/?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>root</a>/<a href='/cgit.cgi/linux/net-next.git/commit/sound?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>sound</a>/<a href='/cgit.cgi/linux/net-next.git/commit/sound/soc?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>soc</a>/<a href='/cgit.cgi/linux/net-next.git/commit/sound/soc/codecs?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>codecs</a>/<a href='/cgit.cgi/linux/net-next.git/commit/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>tfa9879.c</a></div><div class='content'><div class='cgit-panel'><b>diff options</b><form method='get'><input type='hidden' name='id' value='dfef358bd1beb4e7b5c94eca944be9cd23dfc752'/><table><tr><td colspan='2'/></tr><tr><td class='label'>context:</td><td class='ctrl'><select name='context' onchange='this.form.submit();'><option value='1'>1</option><option value='2'>2</option><option value='3' selected='selected'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><table summary='commit info' class='commit-info'> <tr><th>author</th><td>Christoph Hellwig <hch@lst.de></td><td class='right'>2017-01-30 13:15:41 +0100</td></tr> <tr><th>committer</th><td>Bjorn Helgaas <bhelgaas@google.com></td><td class='right'>2017-02-02 10:35:46 -0600</td></tr> <tr><th>commit</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>dfef358bd1beb4e7b5c94eca944be9cd23dfc752</a> (<a href='/cgit.cgi/linux/net-next.git/patch/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>patch</a>)</td></tr> <tr><th>tree</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/tree/?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>b9a2afb38a4c2ac8ad31f49ec0d71fe9e5b1994c</a> /<a href='/cgit.cgi/linux/net-next.git/tree/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>sound/soc/codecs/tfa9879.c</a></td></tr> <tr><th>parent</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/sound/soc/codecs/tfa9879.c?id=030305d69fc6963c16003f50d7e8d74b02d0a143'>030305d69fc6963c16003f50d7e8d74b02d0a143</a> (<a href='/cgit.cgi/linux/net-next.git/diff/sound/soc/codecs/tfa9879.c?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752&id2=030305d69fc6963c16003f50d7e8d74b02d0a143'>diff</a>)</td></tr></table> <div class='commit-subject'>PCI/MSI: Don't apply affinity if there aren't enough vectors left</div><div class='commit-msg'>Bart reported a problem wіth an out of bounds access in the low-level IRQ affinity code, which we root caused to the qla2xxx driver assigning all its MSI-X vectors to the pre and post vectors, and not having any left for the actually spread IRQs. Fix this issue by not asking for affinity assignment when there are no vectors to assign left. Fixes: 402723ad5c62 ("PCI/MSI: Provide pci_alloc_irq_vectors_affinity()") Link: https://lkml.kernel.org/r/1485359225.3093.3.camel@sandisk.com Reported-by: Bart Van Assche <bart.vanassche@sandisk.com> Tested-by: Bart Van Assche <bart.vanassche@sandisk.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com></div><div class='diffstat-header'><a href='/cgit.cgi/linux/net-next.git/diff/?id=dfef358bd1beb4e7b5c94eca944be9cd23dfc752'>Diffstat</a> (limited to 'sound/soc/codecs/tfa9879.c')</div><table summary='diffstat' class='diffstat'>