Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 281146
b: refs/heads/master
c: c837209
h: refs/heads/master
v: v3
  • Loading branch information
Tomas Winkler authored and Greg Kroah-Hartman committed Nov 27, 2011
1 parent ab7adc5 commit 6161aec
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 62 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: 2bcfaa1fa2c21f948f2f08fb07c28226fb9d0dcb
refs/heads/master: c83720941f92dc7b74c9d2869023b7e1cfcf9b6d
6 changes: 1 addition & 5 deletions trunk/drivers/staging/mei/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ void mei_io_list_init(struct mei_io_list *list)
{
/* initialize our queue list */
INIT_LIST_HEAD(&list->mei_cb.cb_list);
list->status = 0;
}

/**
Expand All @@ -52,8 +51,6 @@ void mei_io_list_flush(struct mei_io_list *list, struct mei_cl *cl)
struct mei_cl_cb *cb_pos = NULL;
struct mei_cl_cb *cb_next = NULL;

if (list->status != 0)
return;

if (list_empty(&list->mei_cb.cb_list))
return;
Expand Down Expand Up @@ -338,8 +335,7 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled)
}
}
/* remove all waiting requests */
if (dev->write_list.status == 0 &&
!list_empty(&dev->write_list.mei_cb.cb_list)) {
if (!list_empty(&dev->write_list.mei_cb.cb_list)) {
list_for_each_entry_safe(cb_pos, cb_next,
&dev->write_list.mei_cb.cb_list, cb_list) {
if (cb_pos) {
Expand Down
86 changes: 37 additions & 49 deletions trunk/drivers/staging/mei/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,8 +198,7 @@ static int mei_irq_thread_read_client_message(struct mei_io_list *complete_list,
unsigned char *buffer = NULL;

dev_dbg(&dev->pdev->dev, "start client msg\n");
if (!(dev->read_list.status == 0 &&
!list_empty(&dev->read_list.mei_cb.cb_list)))
if (list_empty(&dev->read_list.mei_cb.cb_list))
goto quit;

list_for_each_entry_safe(cb_pos, cb_next,
Expand Down Expand Up @@ -413,8 +412,7 @@ static void mei_client_connect_response(struct mei_device *dev,
dev->iamthif_state = MEI_IAMTHIF_IDLE;
return;
}
if (!dev->ctrl_rd_list.status &&
!list_empty(&dev->ctrl_rd_list.mei_cb.cb_list)) {
if (!list_empty(&dev->ctrl_rd_list.mei_cb.cb_list)) {
list_for_each_entry_safe(cb_pos, cb_next,
&dev->ctrl_rd_list.mei_cb.cb_list, cb_list) {
cl = (struct mei_cl *)cb_pos->file_private;
Expand Down Expand Up @@ -455,8 +453,7 @@ static void mei_client_disconnect_response(struct mei_device *dev,
rs->host_addr,
rs->status);

if (!dev->ctrl_rd_list.status &&
!list_empty(&dev->ctrl_rd_list.mei_cb.cb_list)) {
if (!list_empty(&dev->ctrl_rd_list.mei_cb.cb_list)) {
list_for_each_entry_safe(cb_pos, cb_next,
&dev->ctrl_rd_list.mei_cb.cb_list, cb_list) {
cl = (struct mei_cl *)cb_pos->file_private;
Expand Down Expand Up @@ -1238,7 +1235,7 @@ static int mei_irq_thread_write_handler(struct mei_io_list *cmpl_list,
dev_dbg(&dev->pdev->dev, "complete all waiting for write cb.\n");

list = &dev->write_waiting_list;
if (!list->status && !list_empty(&list->mei_cb.cb_list)) {
if (!list_empty(&list->mei_cb.cb_list)) {
list_for_each_entry_safe(cb_pos, cb_next,
&list->mei_cb.cb_list, cb_list) {
cl = (struct mei_cl *)cb_pos->file_private;
Expand Down Expand Up @@ -1314,55 +1311,46 @@ static int mei_irq_thread_write_handler(struct mei_io_list *cmpl_list,
return ~ENODEV;

/* complete control write list CB */
if (!dev->ctrl_wr_list.status) {
/* complete control write list CB */
dev_dbg(&dev->pdev->dev, "complete control write list cb.\n");
list_for_each_entry_safe(cb_pos, cb_next,
dev_dbg(&dev->pdev->dev, "complete control write list cb.\n");
list_for_each_entry_safe(cb_pos, cb_next,
&dev->ctrl_wr_list.mei_cb.cb_list, cb_list) {
cl = (struct mei_cl *)
cb_pos->file_private;
if (!cl) {
list_del(&cb_pos->cb_list);
return -ENODEV;
}
switch (cb_pos->major_file_operations) {
case MEI_CLOSE:
/* send disconnect message */
ret = _mei_irq_thread_close(dev, slots,
cb_pos, cl, cmpl_list);
if (ret)
return ret;

break;
case MEI_READ:
/* send flow control message */
ret = _mei_irq_thread_read(dev, slots,
cb_pos, cl, cmpl_list);
if (ret)
return ret;
cl = (struct mei_cl *) cb_pos->file_private;
if (!cl) {
list_del(&cb_pos->cb_list);
return -ENODEV;
}
switch (cb_pos->major_file_operations) {
case MEI_CLOSE:
/* send disconnect message */
ret = _mei_irq_thread_close(dev, slots, cb_pos, cl, cmpl_list);
if (ret)
return ret;

break;
case MEI_IOCTL:
/* connect message */
if (!mei_other_client_is_connecting(dev,
cl))
continue;
ret = _mei_irq_thread_ioctl(dev, slots,
cb_pos, cl, cmpl_list);
if (ret)
return ret;
break;
case MEI_READ:
/* send flow control message */
ret = _mei_irq_thread_read(dev, slots, cb_pos, cl, cmpl_list);
if (ret)
return ret;

break;
break;
case MEI_IOCTL:
/* connect message */
if (!mei_other_client_is_connecting(dev, cl))
continue;
ret = _mei_irq_thread_ioctl(dev, slots, cb_pos, cl, cmpl_list);
if (ret)
return ret;

default:
BUG();
}
break;

default:
BUG();
}

}
/* complete write list CB */
if (!dev->write_list.status &&
!list_empty(&dev->write_list.mei_cb.cb_list)) {
if (!list_empty(&dev->write_list.mei_cb.cb_list)) {
dev_dbg(&dev->pdev->dev, "complete write list cb.\n");
list_for_each_entry_safe(cb_pos, cb_next,
&dev->write_list.mei_cb.cb_list, cb_list) {
Expand Down Expand Up @@ -1621,7 +1609,7 @@ irqreturn_t mei_interrupt_thread_handler(int irq, void *dev_id)
wake_up_interruptible(&dev->wait_recvd_msg);
bus_message_received = false;
}
if (complete_list.status || list_empty(&complete_list.mei_cb.cb_list))
if (list_empty(&complete_list.mei_cb.cb_list))
return IRQ_HANDLED;


Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/staging/mei/iorw.c
Original file line number Diff line number Diff line change
Expand Up @@ -231,8 +231,7 @@ struct mei_cl_cb *find_amthi_read_list_entry(
struct mei_cl_cb *cb_pos = NULL;
struct mei_cl_cb *cb_next = NULL;

if (!dev->amthi_read_complete_list.status &&
!list_empty(&dev->amthi_read_complete_list.mei_cb.cb_list)) {
if (!list_empty(&dev->amthi_read_complete_list.mei_cb.cb_list)) {
list_for_each_entry_safe(cb_pos, cb_next,
&dev->amthi_read_complete_list.mei_cb.cb_list, cb_list) {
cl_temp = (struct mei_cl *)cb_pos->file_private;
Expand Down Expand Up @@ -565,8 +564,7 @@ void mei_run_next_iamthif_cmd(struct mei_device *dev)
dev->iamthif_timer = 0;
dev->iamthif_file_object = NULL;

if (dev->amthi_cmd_list.status == 0 &&
!list_empty(&dev->amthi_cmd_list.mei_cb.cb_list)) {
if (!list_empty(&dev->amthi_cmd_list.mei_cb.cb_list)) {
dev_dbg(&dev->pdev->dev, "complete amthi cmd_list cb.\n");

list_for_each_entry_safe(cb_pos, cb_next,
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/staging/mei/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,7 @@ static struct mei_cl_cb *find_read_list_entry(
struct mei_cl_cb *cb_pos = NULL;
struct mei_cl_cb *cb_next = NULL;

if (!dev->read_list.status &&
!list_empty(&dev->read_list.mei_cb.cb_list)) {
if (!list_empty(&dev->read_list.mei_cb.cb_list)) {

dev_dbg(&dev->pdev->dev, "remove read_list CB\n");
list_for_each_entry_safe(cb_pos, cb_next,
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/staging/mei/mei_dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ struct mei_cl {

struct mei_io_list {
struct mei_cl_cb mei_cb;
int status;
};

/* MEI private device struct */
Expand Down

0 comments on commit 6161aec

Please sign in to comment.