Re: [PATCH 1/9] HSI: cmt_speech: Add cmt-speech driver
From: Oliver Neukum <oliver@neukum.org>
Date: 2015-03-02 10:29:35
Also in:
linux-omap, lkml
From: Oliver Neukum <oliver@neukum.org>
Date: 2015-03-02 10:29:35
Also in:
linux-omap, lkml
On Mon, 2015-03-02 at 05:38 +0100, Sebastian Reichel wrote:
+static int cs_alloc_cmds(struct cs_hsi_iface *hi)
+{
+ struct hsi_msg *msg;
+ u32 *buf;
+ unsigned int i;
+
+ INIT_LIST_HEAD(&hi->cmdqueue);
+
+ for (i = 0; i < CS_MAX_CMDS; i++) {
+ msg = hsi_alloc_msg(1, GFP_ATOMIC);Why does this need to be ATOMIC?
+ if (!msg)
+ goto out;
+ buf = kmalloc(sizeof(*buf), GFP_ATOMIC);
+ if (!buf) {
+ hsi_free_msg(msg);
+ goto out;
+ }
+ sg_init_one(msg->sgt.sgl, buf, sizeof(*buf));
+ msg->channel = CONTROL_HSI_CH;
+ msg->context = hi;
+ list_add_tail(&msg->link, &hi->cmdqueue);
+ }
+
+ return 0;
+
+out:
+ cs_free_cmds(hi);
+ return -ENOMEM;
+}
+