if (!rbu_data.packetsize) rbu_data.packetsize = fw->size; else if (rbu_data.packetsize != fw->size) { 
/* * we need to free previous packets if a * new hunk of packets needs to be downloaded */ packet_empty_list(); if (packetize_data(fw->data, fw->size)) /* Incase something goes wrong when we are * in middle of packetizing the data, we * need to free up whatever packets might * have been created before we quit. */ 
static void callbackfn_rbu(const struct firmware *fw, void *context){	int rc = 0;	if (!fw || !fw->size) {		rbu_data.entry_created = 0;		return;	}	spin_lock(&rbu_data.lock);	if (!strcmp(image_type, "mono")) {		if (!img_update_realloc(fw->size))			memcpy(rbu_data.image_update_buffer,				fw->data, fw->size);	} else if (!strcmp(image_type, "packet")) {		if (!rbu_data.packetsize)			rbu_data.packetsize = fw->size;		else if (rbu_data.packetsize != fw->size) {			packet_empty_list();			rbu_data.packetsize = fw->size;		}		packetize_data(fw->data, fw->size);	} else		pr_debug("invalid image type specified.\n");	spin_unlock(&rbu_data.lock);	rc = request_firmware_nowait(THIS_MODULE, FW_ACTION_NOHOTPLUG,		"dell_rbu", &rbu_device->dev, &context, callbackfn_rbu);	if (rc)		printk(KERN_ERR			"dell_rbu:%s request_firmware_nowait failed"			" %d\n", __FUNCTION__, rc);	else		rbu_data.entry_created = 1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ad6ce87e5bd4440a6ce9aa9f8cda795b9e902eff/dell_rbu.c/buggy/drivers/firmware/dell_rbu.c