summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-02-07 13:10:36 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-02-12 09:31:05 -0800
commit37368aba98e2e35374e6d90cb12a9504efc9a86a (patch)
treeb8347870a19ed05e1a48d65530931c957030a8fe
parentdbb7f60d1d25cecb6b6fed3d7129d64cd5decdb1 (diff)
downloadlinux-stable-37368aba98e2e35374e6d90cb12a9504efc9a86a.tar.gz
linux-stable-37368aba98e2e35374e6d90cb12a9504efc9a86a.tar.bz2
linux-stable-37368aba98e2e35374e6d90cb12a9504efc9a86a.zip
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 <jarod@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/ieee1394/sbp2.c10
1 files changed, 10 insertions, 0 deletions
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,