I think i find the root cause of this bug now. Actually it is the same issue as bug http://bugs.launchpad.net/bugs/431963. This JMircon USB storage disk uses the same USB-TO-SATA bridge controller as our Babbage board, but it gives us different USB VID and PID. We need to skip ATA PASS THROUGH command for this device as well as our Babbage on board controller. -- roc@babbage:~$ dmesg Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.31-605-imx51 (root@emerald) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #8 Wed Feb 24 02:11:14 EST 2010 (Ubuntu 2.6.31-605.8-imx51) CPU: ARMv7 Processor [412fc081] revision 1 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: Freescale MX51 Babbage Board Memory policy: ECC disabled, Data cache writeback On node 0 totalpages: 122880 free_area_init_node: node 0, pgdat c06692cc, node_mem_map c06eb000 DMA zone: 128 pages used for memmap DMA zone: 0 pages reserved DMA zone: 16256 pages, LIFO batch:3 Normal zone: 832 pages used for memmap Normal zone: 105664 pages, LIFO batch:31 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 121920 Kernel command line: root=UUID=e35b9b48-cd90-45ce-9dd5-3a186f4f9a7b ro quiet splash PID hash table entries: 2048 (order: 11, 8192 bytes) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) allocated 2457600 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups Memory: 480MB = 480MB total Memory: 468132KB available (6104K code, 744K data, 184K init, 0K highmem) SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:272 MXC IRQ initialized Console: colour dummy device 80x30 console [tty0] enabled Calibrating delay loop... 799.53 BogoMIPS (lpj=3997696) Security Framework initialized AppArmor: AppArmor initialized Mount-cache hash table entries: 512 Initializing cgroup subsys ns Initializing cgroup subsys cpuacct Initializing cgroup subsys memory Initializing cgroup subsys freezer Initializing cgroup subsys net_cls CPU: Testing write buffer coherency: ok tmpfs: No value for mount option 'mode' devtmpfs: initialized regulator: core version 0.5 NET: Registered protocol family 16 CPU is i.MX51 Revision 2.0 MXC GPIO hardware iomux_config_mux: Warning: iomux pin config changed, reg=fb0a8134, prev=0x1 new=0x3 IRAM READY mxc_init_dvfs_per initialised Using SDMA I.API MXC DMA API initialized bio: create slab at 0 SCSI subsystem initialized libata version 3.00 loaded. CSPI: mxc_spi-0 probed usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb MXC I2C driver MXC I2C driver MXC HS I2C driver IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7) PMIC Light driver loading... Bluetooth: Core ver 2.15 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized NET: Registered protocol family 8 NET: Registered protocol family 20 NetLabel: Initializing NetLabel: domain hash size = 128 NetLabel: protocols = UNLABELED CIPSOv4 NetLabel: unlabeled traffic allowed by default mc13892 Rev 2.0 FinVer 0 detected Initializing regulators for Babbage. regulator: SW1: 600 <--> 1375 mV regulator: SW2: 900 <--> 1850 mV regulator: SW3: 1100 <--> 1850 mV regulator: SW4: 1100 <--> 1850 mV regulator: SWBST: 0 mV regulator: VIOHI: 0 mV regulator: VPLL: 1050 <--> 1800 mV regulator: VDIG: 1650 mV regulator: VSD: 1800 <--> 3150 mV regulator: VUSB2: 2400 <--> 2775 mV regulator: VVIDEO: 2775 mV regulator: VAUDIO: 2300 <--> 3000 mV regulator: VCAM: 2500 <--> 3000 mV fast normal regulator: VGEN1: 1200 mV regulator: VGEN2: 1200 <--> 3150 mV regulator: VGEN3: 1800 <--> 2900 mV regulator: VUSB: 0 mV regulator: GPO1: 0 mV regulator: GPO2: 0 mV regulator: GPO3: 0 mV regulator: GPO4: 0 mV PMIC ADC start probe PMIC Light successfully loaded Device spi1.0 probed AppArmor: AppArmor Filesystem Enabled NET: Registered protocol family 2 IP route cache hash table entries: 4096 (order: 2, 16384 bytes) TCP established hash table entries: 16384 (order: 5, 131072 bytes) TCP bind hash table entries: 16384 (order: 4, 65536 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP reno registered NET: Registered protocol family 1 Switched to high resolution mode on CPU 0 LPMode driver module loaded Static Power Management for Freescale i.MX51 PM driver module loaded sdram autogating driver module loaded Bus freq driver module loaded DVI monitor is primary usb: Host 1 host (isp1504) registered usb: DR host (utmi) registered usb: DR gadget (utmi) registered mxc_dvfs_core_probe DVFS driver module loaded i.MXC CPU frequency driver DVFS PER driver module loaded audit: initializing netlink socket (disabled) type=2000 audit(0.720:1): initialized Trying to unpack rootfs image as initramfs... VFS: Disk quotas dquot_6.5.2 Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) fuse init (API version 7.12) msgmni has been set to 914 alg: No test for stdrng (krng) io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) fbcvt: 1024x768@60: CVT Name - .786M3 mxc_ipu mxc_ipu: Channel already disabled 9 mxc_ipu mxc_ipu: Channel already uninitialized 9 IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7) Console: switching to colour frame buffer device 128x48 fbcvt: 1024x768@60: CVT Name - .786M3 regulator: get() with no identifier regulator: get() with no identifier regulator: get() with no identifier Freeing initrd memory: 9472K mxci2c_wait_writefifo:wait error Serial: MXC Internal UART driver mxcintuart.0: ttymxc0 at MMIO 0x73fbc000 (irq = 31) is a Freescale i.MX mxcintuart.1: ttymxc1 at MMIO 0x73fc0000 (irq = 32) is a Freescale i.MX mxcintuart.2: ttymxc2 at MMIO 0x7000c000 (irq = 33) is a Freescale i.MX brd: module loaded loop: module loaded Fixed MDIO Bus: probed FEC Ethernet Driver fec: PHY @ 0x0, ID 0x0007c0c4 -- LAN8700 PPP generic driver version 2.4.2 MXC MTD nor Driver 2.0 MXC MTD nand Driver 3.0 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 14, io base 0x73f80200 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2 fsl-ehci fsl-ehci.1: irq 18, io base 0x73f80000 fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00 usb usb2: configuration #1 chosen from 1 choice hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. ARC USBOTG Device Controller driver (1 August 2005) udc: request mem region for fsl-usb2-udc failed fsl-usb2-udc: probe of fsl-usb2-udc failed with error -16 mice: PS/2 mouse device common for all mice MXC keypad loaded clk: Unable to get requested clock: kpp_clk input: mxckpd as /devices/virtual/input/input0 mc13892 rtc probe start pmic_rtc pmic_rtc.1: rtc core: registered pmic_rtc as rtc0 mc13892 rtc probe succeed i2c /dev entries driver APM Battery Driver MXC WatchDog Driver 2.0 clk: Unable to get requested clock: wdog_clk MXC Watchdog # 0 Timer: initial timeout 60 sec device-mapper: uevent: version 1.0.3 device-mapper: ioctl: 4.15.0-ioctl (2009-04-01) initialised: