Loading drivers/ieee1394/sbp2.c +8 −12 Original line number Diff line number Diff line Loading @@ -308,6 +308,8 @@ static struct scsi_host_template sbp2_shost_template = { .sdev_attrs = sbp2_sysfs_sdev_attrs, }; /* for match-all entries in sbp2_workarounds_table */ #define SBP2_ROM_VALUE_WILDCARD 0x1000000 /* * List of devices with known bugs. Loading @@ -329,22 +331,14 @@ static const struct { }, /* Initio bridges, actually only needed for some older ones */ { .firmware_revision = 0x000200, .model_id = SBP2_ROM_VALUE_WILDCARD, .workarounds = SBP2_WORKAROUND_INQUIRY_36, }, /* Symbios bridge */ { .firmware_revision = 0xa0b800, .model_id = SBP2_ROM_VALUE_WILDCARD, .workarounds = SBP2_WORKAROUND_128K_MAX_TRANS, }, /* * Note about the following Apple iPod blacklist entries: * * There are iPods (2nd gen, 3rd gen) with model_id==0. Since our * matching logic treats 0 as a wildcard, we cannot match this ID * without rewriting the matching routine. Fortunately these iPods * do not feature the read_capacity bug according to one report. * Read_capacity behaviour as well as model_id could change due to * Apple-supplied firmware updates though. */ /* iPod 4th generation */ { .firmware_revision = 0x0a2700, .model_id = 0x000021, Loading Loading @@ -1307,11 +1301,13 @@ static void sbp2_parse_unit_directory(struct sbp2_lu *lu, if (!(workarounds & SBP2_WORKAROUND_OVERRIDE)) for (i = 0; i < ARRAY_SIZE(sbp2_workarounds_table); i++) { if (sbp2_workarounds_table[i].firmware_revision && if (sbp2_workarounds_table[i].firmware_revision != SBP2_ROM_VALUE_WILDCARD && sbp2_workarounds_table[i].firmware_revision != (firmware_revision & 0xffff00)) continue; if (sbp2_workarounds_table[i].model_id && if (sbp2_workarounds_table[i].model_id != SBP2_ROM_VALUE_WILDCARD && sbp2_workarounds_table[i].model_id != ud->model_id) continue; workarounds |= sbp2_workarounds_table[i].workarounds; Loading Loading
drivers/ieee1394/sbp2.c +8 −12 Original line number Diff line number Diff line Loading @@ -308,6 +308,8 @@ static struct scsi_host_template sbp2_shost_template = { .sdev_attrs = sbp2_sysfs_sdev_attrs, }; /* for match-all entries in sbp2_workarounds_table */ #define SBP2_ROM_VALUE_WILDCARD 0x1000000 /* * List of devices with known bugs. Loading @@ -329,22 +331,14 @@ static const struct { }, /* Initio bridges, actually only needed for some older ones */ { .firmware_revision = 0x000200, .model_id = SBP2_ROM_VALUE_WILDCARD, .workarounds = SBP2_WORKAROUND_INQUIRY_36, }, /* Symbios bridge */ { .firmware_revision = 0xa0b800, .model_id = SBP2_ROM_VALUE_WILDCARD, .workarounds = SBP2_WORKAROUND_128K_MAX_TRANS, }, /* * Note about the following Apple iPod blacklist entries: * * There are iPods (2nd gen, 3rd gen) with model_id==0. Since our * matching logic treats 0 as a wildcard, we cannot match this ID * without rewriting the matching routine. Fortunately these iPods * do not feature the read_capacity bug according to one report. * Read_capacity behaviour as well as model_id could change due to * Apple-supplied firmware updates though. */ /* iPod 4th generation */ { .firmware_revision = 0x0a2700, .model_id = 0x000021, Loading Loading @@ -1307,11 +1301,13 @@ static void sbp2_parse_unit_directory(struct sbp2_lu *lu, if (!(workarounds & SBP2_WORKAROUND_OVERRIDE)) for (i = 0; i < ARRAY_SIZE(sbp2_workarounds_table); i++) { if (sbp2_workarounds_table[i].firmware_revision && if (sbp2_workarounds_table[i].firmware_revision != SBP2_ROM_VALUE_WILDCARD && sbp2_workarounds_table[i].firmware_revision != (firmware_revision & 0xffff00)) continue; if (sbp2_workarounds_table[i].model_id && if (sbp2_workarounds_table[i].model_id != SBP2_ROM_VALUE_WILDCARD && sbp2_workarounds_table[i].model_id != ud->model_id) continue; workarounds |= sbp2_workarounds_table[i].workarounds; Loading