if (info->lba_to_pba) kfree(info->lba_to_pba); if (info->pba_to_lba) kfree(info->pba_to_lba); 
kfree(info->lba_to_pba); kfree(info->pba_to_lba); 
static int sddr55_status(struct us_data *us){	int result;	unsigned char *command = us->iobuf;	unsigned char *status = us->iobuf;	struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra;	/* send command */	memset(command, 0, 8);	command[5] = 0xB0;	command[7] = 0x80;	result = sddr55_bulk_transport(us,		DMA_TO_DEVICE, command, 8);	US_DEBUGP("Result for send_command in status %d\n",		result);	if (result != USB_STOR_XFER_GOOD) {		set_sense_info (4, 0, 0);	/* hardware error */		return USB_STOR_TRANSPORT_ERROR;	}	result = sddr55_bulk_transport(us,		DMA_FROM_DEVICE, status,	4);	/* expect to get short transfer if no card fitted */	if (result == USB_STOR_XFER_SHORT || result == USB_STOR_XFER_STALLED) {		/* had a short transfer, no card inserted, free map memory */		if (info->lba_to_pba)			kfree(info->lba_to_pba);		if (info->pba_to_lba)			kfree(info->pba_to_lba);		info->lba_to_pba = NULL;		info->pba_to_lba = NULL;		info->fatal_error = 0;		info->force_read_only = 0;		set_sense_info (2, 0x3a, 0);	/* not ready, medium not present */		return USB_STOR_TRANSPORT_FAILED;	}	if (result != USB_STOR_XFER_GOOD) {		set_sense_info (4, 0, 0);	/* hardware error */		return USB_STOR_TRANSPORT_FAILED;	}		/* check write protect status */	info->read_only = (status[0] & 0x20);	/* now read status */	result = sddr55_bulk_transport(us,		DMA_FROM_DEVICE, status,	2);	if (result != USB_STOR_XFER_GOOD) {		set_sense_info (4, 0, 0);	/* hardware error */	}	return (result == USB_STOR_XFER_GOOD ?			USB_STOR_TRANSPORT_GOOD : USB_STOR_TRANSPORT_FAILED);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1bc3c9e1e44c2059fe2ffa6ff70ad0a925d7b05f/sddr55.c/buggy/drivers/usb/storage/sddr55.c