loff_t pos, size_t count) 
loff_t pos, size_t count) 
static ssize_t write_rbu_image_type(struct kobject *kobj, char *buffer,			loff_t pos, size_t count){	int rc = count;	int req_firm_rc = 0;	int i;	spin_lock(&rbu_data.lock);	/*	 * Find the first newline or space	 */	for (i = 0; i < count; ++i)		if (buffer[i] == '\n' || buffer[i] == ' ') {			buffer[i] = '\0';			break;		}	if (i == count)		buffer[count] = '\0';	if (strstr(buffer, "mono"))		strcpy(image_type, "mono");	else if (strstr(buffer, "packet"))		strcpy(image_type, "packet");	else if (strstr(buffer, "init")) {		/*		 * If due to the user error the driver gets in a bad		 * state where even though it is loaded , the		 * /sys/class/firmware/dell_rbu entries are missing.		 * to cover this situation the user can recreate entries		 * by writing init to image_type.		 */		if (!rbu_data.entry_created) {			spin_unlock(&rbu_data.lock);			req_firm_rc = request_firmware_nowait(THIS_MODULE,				FW_ACTION_NOHOTPLUG, "dell_rbu",				&rbu_device->dev, &context,				callbackfn_rbu);			if (req_firm_rc) {				printk(KERN_ERR					"dell_rbu:%s request_firmware_nowait"					" failed %d\n", __FUNCTION__, rc);				rc = -EIO;			} else				rbu_data.entry_created = 1;			spin_lock(&rbu_data.lock);		}	} else {		printk(KERN_WARNING "dell_rbu: image_type is invalid\n");		spin_unlock(&rbu_data.lock);		return -EINVAL;	}	/* we must free all previous allocations */	packet_empty_list();	img_update_free();	spin_unlock(&rbu_data.lock);	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ad6ce87e5bd4440a6ce9aa9f8cda795b9e902eff/dell_rbu.c/buggy/drivers/firmware/dell_rbu.c