From: Stefan Richter Date: Sat, 7 Feb 2009 12:10:36 +0000 (+0100) Subject: ieee1394: sbp2: add workarounds for 2nd and 3rd generation iPods X-Git-Tag: v2.6.27.16~36 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37368aba98e2e35374e6d90cb12a9504efc9a86a;p=people%2Fms%2Flinux.git ieee1394: sbp2: add workarounds for 2nd and 3rd generation iPods Commit 1448d7c6a2ff96d3b52ecae49e2d0f046a097fe0 upstream. As per https://bugs.launchpad.net/bugs/294391. These got one sample of each iPod generation going. However there still occurred I/O stalls with the 3rd generation iPod which remain undiagnosed at the time of this writing. Acked-by: Jarod Wilson Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c index bad46ea16095..0c0fdbb66e23 100644 --- a/drivers/ieee1394/sbp2.c +++ b/drivers/ieee1394/sbp2.c @@ -395,6 +395,16 @@ static const struct { .model_id = SBP2_ROM_VALUE_WILDCARD, .workarounds = SBP2_WORKAROUND_128K_MAX_TRANS, }, + /* + * iPod 2nd generation: needs 128k max transfer size workaround + * iPod 3rd generation: needs fix capacity workaround + */ + { + .firmware_revision = 0x0a2700, + .model_id = 0x000000, + .workarounds = SBP2_WORKAROUND_128K_MAX_TRANS | + SBP2_WORKAROUND_FIX_CAPACITY, + }, /* iPod 4th generation */ { .firmware_revision = 0x0a2700, .model_id = 0x000021,