Felipe,

On Mon, Mar 24, 2014 at 7:31 AM, Felipe Balbi <ba...@ti.com> wrote:

> Why do you need to run your IRQ handler when an URQ gets enqueued ? That
> doesn't make much sense :-s

Please see the comments at the start of the file: spi_sync() is
blocking and must not be called while holding spinlocks or with
interrupts disabled.  The purpose of max3421_spi_thread() is to handle
all SPI transactions (implicitly serializing them).  An interrupt is
just one of the reasons to wake up the SPI thread.  Adding URBs,
removing them, or performing a bus reset are other reasons.

You can think of max3421_spi_thread() as implementing the state
machine that would normally be implemented in silicon with a "smart"
controller such as OHCI or similar.

  --david
-- 
eGauge Systems LLC, http://egauge.net/, 1.877-EGAUGE1, fax 720.545.9768
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to