/* bcm_rx_changed - create a RX_CHANGED notification due to changed content  */
static void bcm_rx_changed(struct bcm_op *op, struct can_frame *data)
/* bcm_rx_changed - create a RX_CHANGED notification due to changed content  */
static void bcm_rx_changed(struct bcm_op *op, struct can_frame *data)
{
	struct bcm_msg_head head;
	op->frames_filtered++;
	if (op->frames_filtered > ULONG_MAX/100)
		op->frames_filtered = op->frames_abs = 0;
	data->can_dlc &= (BCM_CAN_DLC_MASK|RX_RECV);
	head.opcode  = RX_CHANGED;
	head.flags   = op->flags;
	head.count   = op->count;
	head.ival1   = op->ival1;
	head.ival2   = op->ival2;
	head.can_id  = op->can_id;
	head.nframes = 1;
	bcm_send_to_user(op, &head, data, 1);
}