if (status == 0x14) { 
 if (status & 0x01) {  US_DEBUGP("usbat_identify_device: Detected Flash reader/writer\n"); info->devicetype = USBAT_DEV_FLASH; } else { 
static int usbat_identify_device(struct us_data *us,				 struct usbat_info *info){	int rc;	unsigned char status;	if (!us || !info)		return USB_STOR_TRANSPORT_ERROR;	rc = usbat_device_reset(us);	if (rc != USB_STOR_TRANSPORT_GOOD)		return rc;	/*	 * By examining the device signature after a reset, we can identify	 * whether the device supports the ATAPI packet interface.	 * The flash-devices do not support this, whereas the HP CDRW's obviously	 * do.	 *	 * This method is not ideal, but works because no other devices have been	 * produced based on the USBAT/USBAT02.	 *	 * Section 9.1 of the ATAPI-4 spec states (amongst other things) that	 * after a device reset, a Cylinder low of 0x14 indicates that the device	 * does support packet commands.	 */	rc = usbat_read(us, USBAT_ATA, USBAT_ATA_LBA_ME, &status);	if (rc != USB_STOR_XFER_GOOD)		return USB_STOR_TRANSPORT_ERROR;	US_DEBUGP("usbat_identify_device: Cylinder low is %02X\n", status);	if (status == 0x14) {		// Device is HP 8200		US_DEBUGP("usbat_identify_device: Detected HP8200 CDRW\n");		info->devicetype = USBAT_DEV_HP8200;	} else {		// Device is a CompactFlash reader/writer		US_DEBUGP("usbat_identify_device: Detected Flash reader/writer\n");		info->devicetype = USBAT_DEV_FLASH;	}	return USB_STOR_TRANSPORT_GOOD;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/68a6457edb8a64fdcc231a4fc5406f6e3f6c9b33/shuttle_usbat.c/buggy/drivers/usb/storage/shuttle_usbat.c