X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/3e5b474f9cd113def3be02af0cf6d5401a7427c9..659b098309c2bca57ac60a35a1b9900d6f28e74d:/lincan/src/ioctl.c diff --git a/lincan/src/ioctl.c b/lincan/src/ioctl.c index 40a4204..08b3aa0 100644 --- a/lincan/src/ioctl.c +++ b/lincan/src/ioctl.c @@ -63,6 +63,10 @@ int can_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned return -1; break; } + case CANQUE_FLUSH: { + canque_flush(canuser->rx_edge0); + break; + } case CONF_FILTER: { #if 0 if (!strcmp(chip->chip_type,"i82527")) { @@ -83,19 +87,17 @@ int can_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned /* In- and output buffer re-initialization */ if(canuser->rx_edge0){ - canque_set_filt(canuser->rx_edge0, arg, ~0); - canque_flush(canuser->rx_edge0); + canque_set_filt(canuser->rx_edge0, arg, ~0, 0); } break; } - case CONF_FILTER_QUE0: { + case CANQUE_FILTER: { struct canfilt_t canfilt; copy_from_user(&canfilt, (void*)arg, sizeof(struct canfilt_t)); if(canuser->rx_edge0){ - canque_set_filt(canuser->rx_edge0, canfilt.id, canfilt.mask); - canque_flush(canuser->rx_edge0); + canque_set_filt(canuser->rx_edge0, canfilt.id, canfilt.mask, canfilt.flags); } break; }