forked from len0rd/rockbox
usb-s3c6400: fix confusion between USB_DIR_IN and DIR_IN
usb_drv_request_endpoint() would return an endpoint with the other direction git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31248 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
13f1b08388
commit
b73dd01f2c
1 changed files with 3 additions and 2 deletions
|
@ -106,11 +106,12 @@ static void reset_endpoints(int reinit)
|
||||||
|
|
||||||
int usb_drv_request_endpoint(int type, int dir)
|
int usb_drv_request_endpoint(int type, int dir)
|
||||||
{
|
{
|
||||||
for(size_t ep = (dir == USB_DIR_IN) ? 1 : 2; ep < USB_NUM_ENDPOINTS; ep += 2)
|
bool out = dir == USB_DIR_OUT;
|
||||||
|
for(size_t ep = out ? 2 : 1; ep < USB_NUM_ENDPOINTS; ep += 2)
|
||||||
if (!endpoints[ep].active)
|
if (!endpoints[ep].active)
|
||||||
{
|
{
|
||||||
endpoints[ep].active = true;
|
endpoints[ep].active = true;
|
||||||
DEPCTL(ep, !dir) = (DEPCTL(ep, !dir) & ~(DEPCTL_eptype_bits << DEPCTL_eptype_bitp)) |
|
DEPCTL(ep, out) = (DEPCTL(ep, out) & ~(DEPCTL_eptype_bits << DEPCTL_eptype_bitp)) |
|
||||||
(type << DEPCTL_eptype_bitp) | DEPCTL_epena;
|
(type << DEPCTL_eptype_bitp) | DEPCTL_epena;
|
||||||
return ep | dir;
|
return ep | dir;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue