diff --git a/[refs] b/[refs] index 6829af0125ea..ac45325b118c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 584a8c13d58423462680907d4cc40d9929c9030a +refs/heads/master: 759f42987f98915764bad922ee123acb0eadbe33 diff --git a/trunk/net/9p/trans_fd.c b/trunk/net/9p/trans_fd.c index b2c308fffb8a..0031a8cf145d 100644 --- a/trunk/net/9p/trans_fd.c +++ b/trunk/net/9p/trans_fd.c @@ -453,12 +453,13 @@ static void p9_write_work(struct work_struct *work) } if (!m->wsize) { + spin_lock(&m->client->lock); if (list_empty(&m->unsent_req_list)) { clear_bit(Wworksched, &m->wsched); + spin_unlock(&m->client->lock); return; } - spin_lock(&m->client->lock); req = list_entry(m->unsent_req_list.next, struct p9_req_t, req_list); req->status = REQ_STATUS_SENT;