Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 336991
b: refs/heads/master
c: 9a84d61
h: refs/heads/master
i:
  336989: 58d1b6e
  336987: 0934767
  336983: 8b03db9
  336975: 760d0cc
  336959: 7a4ab01
v: v3
  • Loading branch information
Tomas Winkler authored and Greg Kroah-Hartman committed Nov 21, 2012
1 parent aff8c27 commit 0f9a0ac
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 17 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: 24c656e55f3985b6f5c0e2264243f7076f376193
refs/heads/master: 9a84d616980215d1d9222173c60329b57680483b
35 changes: 19 additions & 16 deletions trunk/drivers/misc/mei/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -901,27 +901,27 @@ static int mei_irq_thread_read_handler(struct mei_cl_cb *cmpl_list,
* mei_irq_thread_write_handler - bottom half write routine after
* ISR to handle the write processing.
*
* @cmpl_list: An instance of our list structure
* @dev: the device structure
* @slots: slots to write.
* @cmpl_list: An instance of our list structure
*
* returns 0 on success, <0 on failure.
*/
static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
struct mei_device *dev, s32 *slots)
static int mei_irq_thread_write_handler(struct mei_device *dev,
struct mei_cl_cb *cmpl_list)
{

struct mei_cl *cl;
struct mei_cl_cb *pos = NULL, *next = NULL;
struct mei_cl_cb *list;
s32 slots;
int ret;

if (!mei_hbuf_is_empty(dev)) {
dev_dbg(&dev->pdev->dev, "host buffer is not empty.\n");
return 0;
}
*slots = mei_hbuf_empty_slots(dev);
if (*slots <= 0)
slots = mei_hbuf_empty_slots(dev);
if (slots <= 0)
return -EMSGSIZE;

/* complete all waiting for write CB */
Expand All @@ -945,7 +945,7 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
if (cl == &dev->iamthif_cl) {
dev_dbg(&dev->pdev->dev, "check iamthif flow control.\n");
if (dev->iamthif_flow_control_pending) {
ret = mei_amthif_irq_read(dev, slots);
ret = mei_amthif_irq_read(dev, &slots);
if (ret)
return ret;
}
Expand All @@ -960,7 +960,7 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
if (dev->wr_ext_msg.hdr.length) {
mei_write_message(dev, &dev->wr_ext_msg.hdr,
dev->wr_ext_msg.data, dev->wr_ext_msg.hdr.length);
*slots -= mei_data2slots(dev->wr_ext_msg.hdr.length);
slots -= mei_data2slots(dev->wr_ext_msg.hdr.length);
dev->wr_ext_msg.hdr.length = 0;
}
if (dev->dev_state == MEI_DEV_ENABLED) {
Expand All @@ -974,9 +974,9 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
dev->wd_pending = false;

if (dev->wd_state == MEI_WD_RUNNING)
*slots -= mei_data2slots(MEI_WD_START_MSG_SIZE);
slots -= mei_data2slots(MEI_WD_START_MSG_SIZE);
else
*slots -= mei_data2slots(MEI_WD_STOP_MSG_SIZE);
slots -= mei_data2slots(MEI_WD_STOP_MSG_SIZE);
}
}

Expand All @@ -991,14 +991,16 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
switch (pos->fop_type) {
case MEI_FOP_CLOSE:
/* send disconnect message */
ret = _mei_irq_thread_close(dev, slots, pos, cl, cmpl_list);
ret = _mei_irq_thread_close(dev, &slots, pos,
cl, cmpl_list);
if (ret)
return ret;

break;
case MEI_FOP_READ:
/* send flow control message */
ret = _mei_irq_thread_read(dev, slots, pos, cl, cmpl_list);
ret = _mei_irq_thread_read(dev, &slots, pos,
cl, cmpl_list);
if (ret)
return ret;

Expand All @@ -1007,7 +1009,8 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
/* connect message */
if (mei_other_client_is_connecting(dev, cl))
continue;
ret = _mei_irq_thread_ioctl(dev, slots, pos, cl, cmpl_list);
ret = _mei_irq_thread_ioctl(dev, &slots, pos,
cl, cmpl_list);
if (ret)
return ret;

Expand All @@ -1032,7 +1035,7 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
cl->host_client_id);
continue;
}
ret = mei_irq_thread_write_complete(dev, slots, pos,
ret = mei_irq_thread_write_complete(dev, &slots, pos,
cmpl_list);
if (ret)
return ret;
Expand All @@ -1046,7 +1049,7 @@ static int mei_irq_thread_write_handler(struct mei_cl_cb *cmpl_list,
cl->host_client_id);
continue;
}
ret = mei_amthif_irq_write_complete(dev, slots,
ret = mei_amthif_irq_write_complete(dev, &slots,
pos, cmpl_list);
if (ret)
return ret;
Expand Down Expand Up @@ -1238,7 +1241,7 @@ irqreturn_t mei_interrupt_thread_handler(int irq, void *dev_id)
if (rets)
goto end;
}
rets = mei_irq_thread_write_handler(&complete_list, dev, &slots);
rets = mei_irq_thread_write_handler(dev, &complete_list);
end:
dev_dbg(&dev->pdev->dev, "end of bottom half function.\n");
dev->host_hw_state = mei_hcsr_read(dev);
Expand Down

0 comments on commit 0f9a0ac

Please sign in to comment.