X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=include%2Flinux%2Fi2o.h;h=c115e9e840b4e051b7b573a37c27bfc4564ad504;hb=4e8f10b7ccf1c3c53a818a157962074a7340732e;hp=dd7d627bf66f306b4ee9401f06ed4fb574896a85;hpb=5b67e8dd5ae889fea7d01b905a570fa9a37b8785;p=linux-2.6-omap-h63xx.git diff --git a/include/linux/i2o.h b/include/linux/i2o.h index dd7d627bf66..c115e9e840b 100644 --- a/include/linux/i2o.h +++ b/include/linux/i2o.h @@ -1114,8 +1114,11 @@ static inline struct i2o_message *i2o_msg_get(struct i2o_controller *c) mmsg->mfa = readl(c->in_port); if (unlikely(mmsg->mfa >= c->in_queue.len)) { + u32 mfa = mmsg->mfa; + mempool_free(mmsg, c->in_msg.mempool); - if(mmsg->mfa == I2O_QUEUE_EMPTY) + + if (mfa == I2O_QUEUE_EMPTY) return ERR_PTR(-EBUSY); return ERR_PTR(-EFAULT); }