/* Allocate master array */
irlap = hashbin_new(HB_LOCK);
if (irlap == NULL) {
- IRDA_ERROR("%s: can't allocate irlap hashbin!\n",
+ IRDA_ERROR("%s: can't allocate irlap hashbin!\n",
__FUNCTION__);
return -ENOMEM;
}
IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
/* Initialize the irlap structure. */
- self = kmalloc(sizeof(struct irlap_cb), GFP_KERNEL);
+ self = kzalloc(sizeof(struct irlap_cb), GFP_KERNEL);
if (self == NULL)
return NULL;
- memset(self, 0, sizeof(struct irlap_cb));
self->magic = LAP_MAGIC;
/* Make a binding between the layers */
int count = 0;
/*
- * Remove all the ack-ed frames from the window queue.
- */
+ * Remove all the ack-ed frames from the window queue.
+ */
/*
* Optimize for the common case. It is most likely that the receiver
/* Change speed now, or just piggyback speed on frames */
if (now) {
/* Send down empty frame to trigger speed change */
- skb = dev_alloc_skb(0);
+ skb = alloc_skb(0, GFP_ATOMIC);
if (skb)
irlap_queue_xmit(self, skb);
}
spin_lock_irq(&irlap->hb_spinlock);
iter->id = 0;
- for (self = (struct irlap_cb *) hashbin_get_first(irlap);
+ for (self = (struct irlap_cb *) hashbin_get_first(irlap);
self; self = (struct irlap_cb *) hashbin_get_next(irlap)) {
if (iter->id == *pos)
break;
++iter->id;
}
-
+
return self;
}
{
const struct irlap_iter_state *iter = seq->private;
const struct irlap_cb *self = v;
-
+
IRDA_ASSERT(self->magic == LAP_MAGIC, return -EINVAL;);
seq_printf(seq, "irlap%d ", iter->id);
{
struct seq_file *seq;
int rc = -ENOMEM;
- struct irlap_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL);
-
+ struct irlap_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL);
+
if (!s)
goto out;
seq = file->private_data;
seq->private = s;
- memset(s, 0, sizeof(*s));
out:
return rc;
out_kfree:
goto out;
}
-struct file_operations irlap_seq_fops = {
+const struct file_operations irlap_seq_fops = {
.owner = THIS_MODULE,
.open = irlap_seq_open,
.read = seq_read,