Revert "msm: sdio_dmux: split the workqueue in sdio_dmux"
This reverts commit 544f80313c78cf4afaa391bbf4c0462bbbcd53ee.
Signed-off-by: Eric Holmberg <eholmber@codeaurora.org>
diff --git a/arch/arm/mach-msm/sdio_dmux.c b/arch/arm/mach-msm/sdio_dmux.c
index 4d15ee1..ca9702e 100644
--- a/arch/arm/mach-msm/sdio_dmux.c
+++ b/arch/arm/mach-msm/sdio_dmux.c
@@ -130,8 +130,7 @@
static DECLARE_WORK(work_sdio_mux_write, sdio_mux_write_data);
static DECLARE_DELAYED_WORK(delayed_work_sdio_mux_write, sdio_mux_write_data);
-static struct workqueue_struct *sdio_mux_read_workqueue;
-static struct workqueue_struct *sdio_mux_write_workqueue;
+static struct workqueue_struct *sdio_mux_workqueue;
static struct sdio_partial_pkt_info sdio_partial_pkt;
#define sdio_ch_is_open(x) \
@@ -356,7 +355,7 @@
pr_err("%s: sdio read failed %d\n", __func__, rc);
dev_kfree_skb_any(skb_mux);
mutex_unlock(&sdio_read_mux_lock);
- queue_work(sdio_mux_read_workqueue, &work_sdio_mux_read);
+ queue_work(sdio_mux_workqueue, &work_sdio_mux_read);
return;
}
mutex_unlock(&sdio_read_mux_lock);
@@ -387,7 +386,7 @@
dev_kfree_skb_any(skb_mux);
DBG("%s: read done\n", __func__);
- queue_work(sdio_mux_read_workqueue, &work_sdio_mux_read);
+ queue_work(sdio_mux_workqueue, &work_sdio_mux_read);
}
static int sdio_mux_write(struct sk_buff *skb)
@@ -521,7 +520,7 @@
notify = 1;
} else {
__skb_queue_head(&sdio_mux_write_pool, skb);
- queue_delayed_work(sdio_mux_write_workqueue,
+ queue_delayed_work(sdio_mux_workqueue,
&delayed_work_sdio_mux_write,
msecs_to_jiffies(250)
);
@@ -634,7 +633,7 @@
spin_unlock(&sdio_ch[id].lock);
spin_unlock_irqrestore(&sdio_mux_write_lock, flags);
- queue_work(sdio_mux_write_workqueue, &work_sdio_mux_write);
+ queue_work(sdio_mux_workqueue, &work_sdio_mux_write);
return rc;
}
@@ -711,11 +710,11 @@
/* write avail may not be enouogh for a packet, but should be fine */
if ((event == SDIO_EVENT_DATA_WRITE_AVAIL) &&
sdio_write_avail(sdio_mux_ch))
- queue_work(sdio_mux_write_workqueue, &work_sdio_mux_write);
+ queue_work(sdio_mux_workqueue, &work_sdio_mux_write);
if ((event == SDIO_EVENT_DATA_READ_AVAIL) &&
sdio_read_avail(sdio_mux_ch))
- queue_work(sdio_mux_read_workqueue, &work_sdio_mux_read);
+ queue_work(sdio_mux_workqueue, &work_sdio_mux_read);
}
int msm_sdio_dmux_is_ch_full(uint32_t id)
@@ -815,18 +814,10 @@
DBG("%s probe called\n", __func__);
if (!sdio_mux_initialized) {
- sdio_mux_read_workqueue = create_singlethread_workqueue(
- "sdio_dmux_read");
- if (!sdio_mux_read_workqueue)
+ sdio_mux_workqueue = create_singlethread_workqueue("sdio_dmux");
+ if (!sdio_mux_workqueue)
return -ENOMEM;
- sdio_mux_write_workqueue = create_singlethread_workqueue(
- "sdio_dmux_write");
- if (!sdio_mux_write_workqueue) {
- destroy_workqueue(sdio_mux_read_workqueue);
- return -ENOMEM;
- }
-
skb_queue_head_init(&sdio_mux_write_pool);
spin_lock_init(&sdio_mux_write_lock);
@@ -842,8 +833,7 @@
if (rc < 0) {
pr_err("%s: sido open failed %d\n", __func__, rc);
wake_lock_destroy(&sdio_mux_ch_wakelock);
- destroy_workqueue(sdio_mux_read_workqueue);
- destroy_workqueue(sdio_mux_write_workqueue);
+ destroy_workqueue(sdio_mux_workqueue);
sdio_mux_initialized = 0;
return rc;
}