Loading drivers/char/diag/diag_usb.c +1 −5 Original line number Diff line number Diff line Loading @@ -241,17 +241,13 @@ static void diag_usb_notifier(void *priv, unsigned event, switch (event) { case USB_DIAG_CONNECT: spin_lock_irqsave(&usb_info->lock, flags); atomic_set(&usb_info->connected, 1); spin_unlock_irqrestore(&usb_info->lock, flags); pr_info("diag: USB channel %s connected\n", usb_info->name); queue_work(usb_info->usb_wq, &usb_info->connect_work); break; case USB_DIAG_DISCONNECT: spin_lock_irqsave(&usb_info->lock, flags); atomic_set(&usb_info->connected, 0); spin_unlock_irqrestore(&usb_info->lock, flags); pr_info("diag: USB channel %s disconnected\n", usb_info->name); queue_work(usb_info->usb_wq, &usb_info->disconnect_work); Loading @@ -259,8 +255,8 @@ static void diag_usb_notifier(void *priv, unsigned event, case USB_DIAG_READ_DONE: spin_lock_irqsave(&usb_info->lock, flags); usb_info->read_ptr = d_req; atomic_set(&usb_info->read_pending, 0); spin_unlock_irqrestore(&usb_info->lock, flags); atomic_set(&usb_info->read_pending, 0); queue_work(usb_info->usb_wq, &usb_info->read_done_work); break; Loading drivers/char/diag/diagfwd_peripheral.c +0 −14 Original line number Diff line number Diff line Loading @@ -385,12 +385,9 @@ static void diagfwd_dci_read_done(struct diagfwd_info *fwd_info, static void diagfwd_reset_buffers(struct diagfwd_info *fwd_info, unsigned char *buf) { unsigned long flags; if (!fwd_info || !buf) return; spin_lock_irqsave(&fwd_info->buf_lock, flags); if (!driver->feature[fwd_info->peripheral].encode_hdlc) { if (fwd_info->buf_1 && fwd_info->buf_1->data == buf) atomic_set(&fwd_info->buf_1->in_busy, 0); Loading @@ -402,7 +399,6 @@ static void diagfwd_reset_buffers(struct diagfwd_info *fwd_info, else if (fwd_info->buf_2 && fwd_info->buf_2->data_raw == buf) atomic_set(&fwd_info->buf_2->in_busy, 0); } spin_unlock_irqrestore(&fwd_info->buf_lock, flags); } int diagfwd_peripheral_init(void) Loading Loading @@ -691,8 +687,6 @@ int diagfwd_write(uint8_t peripheral, uint8_t type, void *buf, int len) static void __diag_fwd_open(struct diagfwd_info *fwd_info) { unsigned long flags; if (!fwd_info) return; Loading @@ -700,12 +694,10 @@ static void __diag_fwd_open(struct diagfwd_info *fwd_info) if (!fwd_info->inited) return; spin_lock_irqsave(&fwd_info->buf_lock, flags); if (fwd_info->buf_1) atomic_set(&fwd_info->buf_1->in_busy, 0); if (fwd_info->buf_2) atomic_set(&fwd_info->buf_2->in_busy, 0); spin_unlock_irqrestore(&fwd_info->buf_lock, flags); if (fwd_info->p_ops && fwd_info->p_ops->open) fwd_info->p_ops->open(fwd_info->ctxt); Loading Loading @@ -745,7 +737,6 @@ void diagfwd_late_open(struct diagfwd_info *fwd_info) void diagfwd_close(uint8_t peripheral, uint8_t type) { unsigned long flags; struct diagfwd_info *fwd_info = NULL; if (peripheral >= NUM_PERIPHERALS || type >= NUM_TYPES) Loading @@ -759,7 +750,6 @@ void diagfwd_close(uint8_t peripheral, uint8_t type) if (fwd_info->p_ops && fwd_info->p_ops->close) fwd_info->p_ops->close(fwd_info->ctxt); spin_lock_irqsave(&fwd_info->buf_lock, flags); if (fwd_info->buf_1) atomic_set(&fwd_info->buf_1->in_busy, 1); /* Loading @@ -768,7 +758,6 @@ void diagfwd_close(uint8_t peripheral, uint8_t type) */ if (fwd_info->buf_2) atomic_set(&fwd_info->buf_2->in_busy, 1); spin_unlock_irqrestore(&fwd_info->buf_lock, flags); } int diagfwd_channel_open(struct diagfwd_info *fwd_info) Loading Loading @@ -851,20 +840,17 @@ int diagfwd_channel_read_done(struct diagfwd_info *fwd_info, void diagfwd_write_done(uint8_t peripheral, uint8_t type, int ctxt) { struct diagfwd_info *fwd_info = NULL; unsigned long flags; if (peripheral >= NUM_PERIPHERALS || type >= NUM_TYPES) return; fwd_info = &peripheral_info[type][peripheral]; spin_lock_irqsave(&fwd_info->buf_lock, flags); if (ctxt == 1 && fwd_info->buf_1) atomic_set(&fwd_info->buf_1->in_busy, 0); else if (ctxt == 2 && fwd_info->buf_2) atomic_set(&fwd_info->buf_2->in_busy, 0); else pr_err("diag: In %s, invalid ctxt %d\n", __func__, ctxt); spin_unlock_irqrestore(&fwd_info->buf_lock, flags); diagfwd_queue_read(fwd_info); } Loading Loading
drivers/char/diag/diag_usb.c +1 −5 Original line number Diff line number Diff line Loading @@ -241,17 +241,13 @@ static void diag_usb_notifier(void *priv, unsigned event, switch (event) { case USB_DIAG_CONNECT: spin_lock_irqsave(&usb_info->lock, flags); atomic_set(&usb_info->connected, 1); spin_unlock_irqrestore(&usb_info->lock, flags); pr_info("diag: USB channel %s connected\n", usb_info->name); queue_work(usb_info->usb_wq, &usb_info->connect_work); break; case USB_DIAG_DISCONNECT: spin_lock_irqsave(&usb_info->lock, flags); atomic_set(&usb_info->connected, 0); spin_unlock_irqrestore(&usb_info->lock, flags); pr_info("diag: USB channel %s disconnected\n", usb_info->name); queue_work(usb_info->usb_wq, &usb_info->disconnect_work); Loading @@ -259,8 +255,8 @@ static void diag_usb_notifier(void *priv, unsigned event, case USB_DIAG_READ_DONE: spin_lock_irqsave(&usb_info->lock, flags); usb_info->read_ptr = d_req; atomic_set(&usb_info->read_pending, 0); spin_unlock_irqrestore(&usb_info->lock, flags); atomic_set(&usb_info->read_pending, 0); queue_work(usb_info->usb_wq, &usb_info->read_done_work); break; Loading
drivers/char/diag/diagfwd_peripheral.c +0 −14 Original line number Diff line number Diff line Loading @@ -385,12 +385,9 @@ static void diagfwd_dci_read_done(struct diagfwd_info *fwd_info, static void diagfwd_reset_buffers(struct diagfwd_info *fwd_info, unsigned char *buf) { unsigned long flags; if (!fwd_info || !buf) return; spin_lock_irqsave(&fwd_info->buf_lock, flags); if (!driver->feature[fwd_info->peripheral].encode_hdlc) { if (fwd_info->buf_1 && fwd_info->buf_1->data == buf) atomic_set(&fwd_info->buf_1->in_busy, 0); Loading @@ -402,7 +399,6 @@ static void diagfwd_reset_buffers(struct diagfwd_info *fwd_info, else if (fwd_info->buf_2 && fwd_info->buf_2->data_raw == buf) atomic_set(&fwd_info->buf_2->in_busy, 0); } spin_unlock_irqrestore(&fwd_info->buf_lock, flags); } int diagfwd_peripheral_init(void) Loading Loading @@ -691,8 +687,6 @@ int diagfwd_write(uint8_t peripheral, uint8_t type, void *buf, int len) static void __diag_fwd_open(struct diagfwd_info *fwd_info) { unsigned long flags; if (!fwd_info) return; Loading @@ -700,12 +694,10 @@ static void __diag_fwd_open(struct diagfwd_info *fwd_info) if (!fwd_info->inited) return; spin_lock_irqsave(&fwd_info->buf_lock, flags); if (fwd_info->buf_1) atomic_set(&fwd_info->buf_1->in_busy, 0); if (fwd_info->buf_2) atomic_set(&fwd_info->buf_2->in_busy, 0); spin_unlock_irqrestore(&fwd_info->buf_lock, flags); if (fwd_info->p_ops && fwd_info->p_ops->open) fwd_info->p_ops->open(fwd_info->ctxt); Loading Loading @@ -745,7 +737,6 @@ void diagfwd_late_open(struct diagfwd_info *fwd_info) void diagfwd_close(uint8_t peripheral, uint8_t type) { unsigned long flags; struct diagfwd_info *fwd_info = NULL; if (peripheral >= NUM_PERIPHERALS || type >= NUM_TYPES) Loading @@ -759,7 +750,6 @@ void diagfwd_close(uint8_t peripheral, uint8_t type) if (fwd_info->p_ops && fwd_info->p_ops->close) fwd_info->p_ops->close(fwd_info->ctxt); spin_lock_irqsave(&fwd_info->buf_lock, flags); if (fwd_info->buf_1) atomic_set(&fwd_info->buf_1->in_busy, 1); /* Loading @@ -768,7 +758,6 @@ void diagfwd_close(uint8_t peripheral, uint8_t type) */ if (fwd_info->buf_2) atomic_set(&fwd_info->buf_2->in_busy, 1); spin_unlock_irqrestore(&fwd_info->buf_lock, flags); } int diagfwd_channel_open(struct diagfwd_info *fwd_info) Loading Loading @@ -851,20 +840,17 @@ int diagfwd_channel_read_done(struct diagfwd_info *fwd_info, void diagfwd_write_done(uint8_t peripheral, uint8_t type, int ctxt) { struct diagfwd_info *fwd_info = NULL; unsigned long flags; if (peripheral >= NUM_PERIPHERALS || type >= NUM_TYPES) return; fwd_info = &peripheral_info[type][peripheral]; spin_lock_irqsave(&fwd_info->buf_lock, flags); if (ctxt == 1 && fwd_info->buf_1) atomic_set(&fwd_info->buf_1->in_busy, 0); else if (ctxt == 2 && fwd_info->buf_2) atomic_set(&fwd_info->buf_2->in_busy, 0); else pr_err("diag: In %s, invalid ctxt %d\n", __func__, ctxt); spin_unlock_irqrestore(&fwd_info->buf_lock, flags); diagfwd_queue_read(fwd_info); } Loading