[alsa-devel] [PATCH 49/49] firewire/bebob: Add a workaround for M-Audio special Firewire series

Stefan Richter stefanr at s5r6.in-berlin.de
Fri May 30 22:22:59 CEST 2014


On May 30 Takashi Iwai wrote:
> At Fri, 25 Apr 2014 22:45:30 +0900,
> Takashi Sakamoto wrote:
> > 
> > In post commit, a quirk of this firmware about transactions is reported.
> > This commit apply a workaround for this quirk.
> > 
> > They often fail transactions due to gap_count mismatch. This state is changed
> > by generating bus reset.
> > 
> > The fw_schedule_bus_reset() is an exported symbol in firewire-core. But there
> > are no header for public. This commit moves its prototype from
> > drivers/firewire/core.h to include/linux/firewire.h.
> > 
> > This mismatch still affects bus management before generating this bus reset.
> > It still takes a time to call driver's probe() because transactions are still
> > often failed.
> > 
> > Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
> 
> Hrm, I should have taken a deeper review.  This change was slipped to
> my tree without Stefan's ack.
> Stefan, is it OK to keep this change as is?

Yes, the implementation of this patch and its routing through the ALSA
tree is OK with me.  I should have sent
Acked-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
right away when this revision of the patch series showed up on the list.
(I think I only sent an informal agreement a time ago for an earlier
revision.)

Longer term we should look into improving this workaround to address
  1. the above mentioned transaction failures which happen before the bebob
     driver's .probe is called (which are merely transient recoverable
     failures, apparently),
  2. the theoretical possibility of the very same problem occurring with
     other IEEE 1394 devices.
If we indeed come up with such a more general solution, its implementation
will of course move out of the bebob driver into firewire-core.  But this
is really longer term since we need to be careful with that, and I might
want to recreate an environment which reproduces the issue before I
attempt such generalization or before I take a respective patch from
somebody else. --- So in short, let's proceed with this patch through ALSA
git.

> thanks,
> 
> Takashi
> 
> > ---
> >  drivers/firewire/core.h      |  1 -
> >  include/linux/firewire.h     |  3 +++
> >  sound/firewire/bebob/bebob.c | 32 ++++++++++++++++++++++++++++----
> >  sound/firewire/bebob/bebob.h |  1 +
> >  4 files changed, 32 insertions(+), 5 deletions(-)
[...]

-- 
Stefan Richter
-=====-====- -=-= ====-
http://arcgraph.de/sr/


More information about the Alsa-devel mailing list