Hi, hippo
Thank for your help, my usb flash disk was working now,, these is my message using on DE II board:
<div class='quotetop'>QUOTE </div>
--- Quote Start ---
# usb 1-2: new full speed USB device using isp1362-hcd and address 2
usb 1-2: Product: USB Mass Storage
usb 1-2: Manufacturer: USB Mass Storage
usb 1-2: SerialNumber: ABCDEF123456789
usb 1-2: configuration# 1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: USB-disk Model: FREEDIK-LWFORMAT Rev: 1.06
Type: Direct-Access ANSI SCSI revision: 00
SCSI device sda: 261856 512-byte hdwr sectors (134 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 261856 512-byte hdwr sectors (134 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
sda:<7>usb-storage: queuecommand called
sda1
sd 0:0:0:0: Attached scsi removable disk sda
# mount -t vfat /dev/sda1 /mnt# cd /mnt# ls
DE2_UserManual.pdf# [/b]
--- Quote End ---
I only changed two place in isp1362-hcd.c
<div class='quotetop'>QUOTE </div>
--- Quote Start ---
static int isp1362_hc_reset(struct usb_hcd *hcd)
{
int ret = 0;
struct isp1362_hcd *isp1362_hcd = hcd_to_isp1362_hcd(hcd);
unsigned long t;
unsigned long timeout = 20;
unsigned long flags;
int clkrdy = 0;
ret = 1;
INFO("%
s:\n", __FUNCTION__);
if (isp1362_hcd->board && isp1362_hcd->board->reset) {
isp1362_hcd->board->reset(hcd->self.controller, 1);
msleep(20);
if (isp1362_hcd->board->clock) {
isp1362_hcd->board->clock(hcd->self.controller, 1);
}
isp1362_hcd->board->reset(hcd->self.controller, 0);
} else {
isp1362_sw_reset(isp1362_hcd);
}
// chip has been reset. First we need to see a clock
t = jiffies + msecs_to_jiffies(timeout);
while (!clkrdy && time_before_eq(jiffies, t)) {
spin_lock_irqsave(&isp1362_hcd->lock, flags);
clkrdy = isp1362_read_reg16(isp1362_hcd, HCuPINT) & HCuPINT_CLKRDY;
spin_unlock_irqrestore(&isp1362_hcd->lock, flags);
if (!clkrdy) {
msleep(4);
}
}
spin_lock_irqsave(&isp1362_hcd->lock, flags);
isp1362_write_reg16(isp1362_hcd, HCuPINT, HCuPINT_CLKRDY);
spin_unlock_irqrestore(&isp1362_hcd->lock, flags);
if (clkrdy) {
ERR("Clock not ready after %lums\n", timeout);
ret = -ENODEV;
}
return ret;
}[/b]
--- Quote End ---
With best regards!