/* bcm_rx_cmp_to_index - (bit)compares the currently received data to formerly received data stored in op->last_frames  */
static void bcm_rx_cmp_to_index(struct bcm_op *op, int index, const struct can_frame *rxdata)
/* bcm_rx_cmp_to_index - (bit)compares the currently received data to formerly received data stored in op->last_frames  */
static void bcm_rx_cmp_to_index(struct bcm_op *op, int index, const struct can_frame *rxdata)
{
	if (!(op->last_frames[index].can_dlc & RX_RECV)) {
		bcm_rx_update_and_send(op, &op->last_frames[index], rxdata);
		return;
	}
	if ((GET_U64(&op->frames[index]) & GET_U64(rxdata)) !=
	    (GET_U64(&op->frames[index]) & GET_U64(&op->last_frames[index]))) {
		bcm_rx_update_and_send(op, &op->last_frames[index], rxdata);
		return;
	}
	if (op->flags & RX_CHECK_DLC) {
		if (rxdata->can_dlc != (op->last_frames[index].can_dlc &
					BCM_CAN_DLC_MASK)) {
			bcm_rx_update_and_send(op, &op->last_frames[index],
					       rxdata);
			return;
		}
	}
}