Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 67843
b: refs/heads/master
c: 30c7431
h: refs/heads/master
i:
  67841: 4f6e5d6
  67839: 132368d
v: v3
  • Loading branch information
Pete Zaitcev authored and Greg Kroah-Hartman committed Oct 12, 2007
1 parent 4608975 commit eb258a5
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 35 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: 283face86b002e670053e9189604852ccb81d357
refs/heads/master: 30c7431de3631d6a5482a87b7c2453b937e8aa51
44 changes: 14 additions & 30 deletions trunk/drivers/usb/mon/mon_bin.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,10 @@ static inline struct mon_bin_hdr *MON_OFF2HDR(const struct mon_reader_bin *rp,

#define MON_RING_EMPTY(rp) ((rp)->b_cnt == 0)

static unsigned char xfer_to_pipe[4] = {
PIPE_CONTROL, PIPE_ISOCHRONOUS, PIPE_BULK, PIPE_INTERRUPT
};

static struct class *mon_bin_class;
static dev_t mon_bin_dev0;
static struct cdev mon_bin_cdev;
Expand Down Expand Up @@ -388,11 +392,13 @@ static char mon_bin_get_data(const struct mon_reader_bin *rp,
static void mon_bin_event(struct mon_reader_bin *rp, struct urb *urb,
char ev_type)
{
const struct usb_endpoint_descriptor *epd = &urb->ep->desc;
unsigned long flags;
struct timeval ts;
unsigned int urb_length;
unsigned int offset;
unsigned int length;
unsigned char dir;
struct mon_bin_hdr *ep;
char data_tag = 0;

Expand All @@ -415,11 +421,14 @@ static void mon_bin_event(struct mon_reader_bin *rp, struct urb *urb,
length = 0;
data_tag = '<';
}
/* Cannot rely on endpoint number in case of control ep.0 */
dir = USB_DIR_IN;
} else {
if (ev_type == 'C') {
length = 0;
data_tag = '>';
}
dir = 0;
}

if (rp->mmap_active)
Expand All @@ -440,21 +449,8 @@ static void mon_bin_event(struct mon_reader_bin *rp, struct urb *urb,
*/
memset(ep, 0, PKT_SIZE);
ep->type = ev_type;
switch (usb_endpoint_type(&urb->ep->desc)) {
case USB_ENDPOINT_XFER_CONTROL:
ep->xfer_type = PIPE_CONTROL;
break;
case USB_ENDPOINT_XFER_BULK:
ep->xfer_type = PIPE_BULK;
break;
case USB_ENDPOINT_XFER_INT:
ep->xfer_type = PIPE_INTERRUPT;
break;
default:
ep->xfer_type = PIPE_ISOCHRONOUS;
break;
}
ep->epnum = urb->ep->desc.bEndpointAddress;
ep->xfer_type = xfer_to_pipe[usb_endpoint_type(epd)];
ep->epnum = dir | usb_endpoint_num(epd);
ep->devnum = urb->dev->devnum;
ep->busnum = urb->dev->bus->busnum;
ep->id = (unsigned long) urb;
Expand Down Expand Up @@ -512,21 +508,9 @@ static void mon_bin_error(void *data, struct urb *urb, int error)

memset(ep, 0, PKT_SIZE);
ep->type = 'E';
switch (usb_endpoint_type(&urb->ep->desc)) {
case USB_ENDPOINT_XFER_CONTROL:
ep->xfer_type = PIPE_CONTROL;
break;
case USB_ENDPOINT_XFER_BULK:
ep->xfer_type = PIPE_BULK;
break;
case USB_ENDPOINT_XFER_INT:
ep->xfer_type = PIPE_INTERRUPT;
break;
default:
ep->xfer_type = PIPE_ISOCHRONOUS;
break;
}
ep->epnum = urb->ep->desc.bEndpointAddress;
ep->xfer_type = xfer_to_pipe[usb_endpoint_type(&urb->ep->desc)];
ep->epnum = usb_urb_dir_in(urb) ? USB_DIR_IN : 0;
ep->epnum |= usb_endpoint_num(&urb->ep->desc);
ep->devnum = urb->dev->devnum;
ep->busnum = urb->dev->bus->busnum;
ep->id = (unsigned long) urb;
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/usb/mon/mon_text.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,18 @@ struct mon_event_text {
int type; /* submit, complete, etc. */
unsigned long id; /* From pointer, most of the time */
unsigned int tstamp;
int xfertype;
int busnum;
int devnum;
int epnum;
char devnum;
char epnum;
char is_in;
char xfertype;
int length; /* Depends on type: xfer length or act length */
int status;
int interval;
int start_frame;
int error_count;
char setup_flag;
char data_flag;
char is_in;
int numdesc; /* Full number */
struct mon_iso_desc isodesc[ISODESC_MAX];
unsigned char setup[SETUP_MAX];
Expand Down

0 comments on commit eb258a5

Please sign in to comment.