On Sunday 11 January 2009, Jeff Garzik wrote: > Tejun Heo wrote: > > Jeff Garzik wrote: > >> This adds code at a late stage (heading towards -rc4), but does > >> eliminate a particular spin-up overcycling behavior associated with > >> hibernation. > >> > >> Rafael's extended description below... Separated to make it easier to > >> pull-or-not, separate from the other libata fixes. There shouldn't be > >> any merge trouble between the two. > >> > >> SATA: Blacklist systems that spin off disks during ACPI power off > > > > Jeff, I think this should be merged into 2.6.29 unless Linus still > > objects. Linus, as discussed in this thread, this is workaround for a > > hardware / firmware problem and vanilla windows also suffers the > > problem, so as ugly as it is, we need this to prevent double spin down > > on the machine. > > Oh, I forgot to reply to this... libata-2.6.git#hibern_regress no > longer applies cleanly. There is a name conflict with a change applied after this patchset had been created. The appended patch fixes it for me. > I'll try poking at it on Monday and get it cleaned up, as it is IMO a > bug fix and still should go in. Thanks! Best, Rafael --- diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index 9a81508..8f0f7c4 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c @@ -415,10 +415,10 @@ void __init dmi_scan_machine(void) } /** - * dmi_match - check if dmi_system_id structure matches system DMI data + * dmi_matches - check if dmi_system_id structure matches system DMI data * @dmi: pointer to the dmi_system_id structure to check */ -static bool dmi_match(const struct dmi_system_id *dmi) +static bool dmi_matches(const struct dmi_system_id *dmi) { int i; @@ -456,7 +456,7 @@ int dmi_check_system(const struct dmi_system_id *list) const struct dmi_system_id *d; for (d = list; d->ident; d++) - if (dmi_match(d)) { + if (dmi_matches(d)) { count++; if (d->callback && d->callback(d)) break; @@ -483,7 +483,7 @@ const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list) const struct dmi_system_id *d; for (d = list; d->ident; d++) - if (dmi_match(d)) + if (dmi_matches(d)) return d; return NULL; -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html