X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/c6d6f58c34e1b6a4c03d1e86d1abf48eeb6f5624..2827b727d2910a3b48f9de7d67b3a67f59e256c7:/lincan/src/read.c diff --git a/lincan/src/read.c b/lincan/src/read.c index 56cb1d5..8824890 100644 --- a/lincan/src/read.c +++ b/lincan/src/read.c @@ -63,16 +63,16 @@ inline ssize_t can_std_read(struct file *file, struct canque_ends_t *qends, inline ssize_t can_rtr_read(struct chip_t *chip, struct msgobj_t *obj, char *buffer) { - unsigned long flags; + can_spin_irqflags_t flags; struct rtr_id *rtr_current, *new_rtr_entry; struct canmsg_t read_msg; DEBUGMSG("Remote transmission request\n"); - spin_lock_irqsave(&hardware_p->rtr_lock, flags); + can_spin_lock_irqsave(&hardware_p->rtr_lock, flags); if (hardware_p->rtr_queue == NULL) { //No remote messages pending new_rtr_entry=(struct rtr_id *)kmalloc(sizeof(struct rtr_id),GFP_ATOMIC); if (new_rtr_entry == NULL) { - spin_unlock_irqrestore(&hardware_p->rtr_lock, + can_spin_unlock_irqrestore(&hardware_p->rtr_lock, flags); return -ENOMEM; } @@ -90,14 +90,14 @@ inline ssize_t can_rtr_read(struct chip_t *chip, struct msgobj_t *obj, new_rtr_entry->rtr_message = &read_msg; new_rtr_entry->next=NULL; - spin_unlock_irqrestore(&hardware_p->rtr_lock, flags); + can_spin_unlock_irqrestore(&hardware_p->rtr_lock, flags); /* Send remote transmission request */ chip->chipspecops->remote_request(chip,obj); obj->ret = 0; interruptible_sleep_on(&new_rtr_entry->rtr_wq); - spin_lock_irqsave(&hardware_p->rtr_lock, flags); + can_spin_lock_irqsave(&hardware_p->rtr_lock, flags); copy_to_user(buffer, &read_msg, sizeof(struct canmsg_t)); if (hardware_p->rtr_queue == new_rtr_entry) { if (new_rtr_entry->next != NULL) @@ -114,7 +114,7 @@ inline ssize_t can_rtr_read(struct chip_t *chip, struct msgobj_t *obj, else rtr_current->next=NULL; } - spin_unlock_irqrestore(&hardware_p->rtr_lock, flags); + can_spin_unlock_irqrestore(&hardware_p->rtr_lock, flags); kfree(new_rtr_entry); return obj->ret; @@ -130,7 +130,7 @@ ssize_t can_read(struct file *file, char *buffer, size_t length, loff_t *offset) int ret=0; if(!canuser || (canuser->magic != CAN_USER_MAGIC)){ - CANMSG("can_close: bad canuser magic\n"); + CANMSG("can_read: bad canuser magic\n"); return -ENODEV; }