Oliver Neukum wrote: > Am Mittwoch, 20. Januar 2010 21:47:22 schrieb Rick L. Vinyard Jr.: >> +static ssize_t g13_name_store(struct device *dev, >> + struct device_attribute *attr, >> + const char *buf, size_t count) >> +{ >> + struct g13_data *data = dev_get_drvdata(dev); >> + size_t limit = count; >> + char *end; >> + >> + spin_lock(&data->lock); >> + >> + if (data->name != NULL) { >> + kfree(data->name); >> + data->name = NULL; >> + } >> + >> + end = strpbrk(buf, "\n\r"); >> + if (end != NULL) >> + limit = end - buf; >> + >> + if (end != buf) { >> + >> + if (limit > 100) >> + limit = 100; >> + >> + data->name = kzalloc(limit+1, GFP_KERNEL); > > While you hold a spinlock, memory allocations must be done with > GFP_ATOMIC. > Thanks for catching that one. I'll recheck all the rest of the allocs. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html