Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 165038
b: refs/heads/master
c: 68d2956
h: refs/heads/master
v: v3
  • Loading branch information
Jason Wessel authored and Greg Kroah-Hartman committed Sep 23, 2009
1 parent 1c4efeb commit f41f7ea
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aab2d4086a1876fcff282aa36e2d4a92aa9935c9
refs/heads/master: 68d2956a810b5c1b8213a1a9f59eacc54d7ce087
41 changes: 29 additions & 12 deletions trunk/drivers/usb/early/ehci-dbgp.c
Original file line number Diff line number Diff line change
Expand Up @@ -245,16 +245,9 @@ static inline void dbgp_get_data(void *buf, int size)
bytes[i] = (hi >> (8*(i - 4))) & 0xff;
}

static int dbgp_bulk_write(unsigned devnum, unsigned endpoint,
const char *bytes, int size)
static int dbgp_out(u32 addr, const char *bytes, int size)
{
u32 pids, addr, ctrl;
int ret;

if (size > DBGP_MAX_PACKET)
return -1;

addr = DBGP_EPADDR(devnum, endpoint);
u32 pids, ctrl;

pids = readl(&ehci_debug->pids);
pids = dbgp_pid_update(pids, USB_PID_OUT);
Expand All @@ -267,10 +260,34 @@ static int dbgp_bulk_write(unsigned devnum, unsigned endpoint,
dbgp_set_data(bytes, size);
writel(addr, &ehci_debug->address);
writel(pids, &ehci_debug->pids);
return dbgp_wait_until_done(ctrl);
}

ret = dbgp_wait_until_done(ctrl);
if (ret < 0)
return ret;
static int dbgp_bulk_write(unsigned devnum, unsigned endpoint,
const char *bytes, int size)
{
int ret;
int loops = 5;
u32 addr;
if (size > DBGP_MAX_PACKET)
return -1;

addr = DBGP_EPADDR(devnum, endpoint);
try_again:
if (loops--) {
ret = dbgp_out(addr, bytes, size);
if (ret == -DBGP_ERR_BAD) {
int try_loops = 3;
do {
/* Emit a dummy packet to re-sync communication
* with the debug device */
if (dbgp_out(addr, "12345678", 8) >= 0) {
udelay(2);
goto try_again;
}
} while (try_loops--);
}
}

return ret;
}
Expand Down

0 comments on commit f41f7ea

Please sign in to comment.