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

Takashi Iwai tiwai at suse.de
Sat May 31 07:56:09 CEST 2014


At Fri, 30 May 2014 22:22:59 +0200,
Stefan Richter wrote:
> 
> 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.)

OK, thanks for confirmation!

> 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.

Sounds reasonable.


thanks,

Takashi

> 
> > 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