rem: value = (uint32)((rate * (uint64)dev->clock) / 48000);
add: value = (uint32)((rate * 48000ULL) / dev->clock);
context: ac97_set_rate(ac97_dev *dev, uint8 reg, uint32 rate){	uint32 value;	uint32 old;		if (dev->set_rate)		return dev->set_rate(dev, reg, rate);	value = (uint32)((rate * (uint64)dev->clock) / 48000); /* use 64 bit calculation for rates 96000 or higher */	LOG(("ac97_set_rate: clock = %d, rate = %d, value = %d\n", dev->clock, rate, value));		/* if double rate audio is currently enabled, divide value by 2 */	if (ac97_reg_cached_read(dev, AC97_EXTENDED_STAT_CTRL) & 0x0002)		value /= 2;			if (value < dev->min_vsr || value > dev->max_vsr)		return false;	old = ac97_reg_cached_read(dev, reg);	ac97_reg_cached_write(dev, reg, value);	if (value != ac97_reg_uncached_read(dev, reg)) {		LOG(("ac97_set_rate failed, new rate %d\n", ac97_reg_uncached_read(dev, reg)));		ac97_reg_cached_write(dev, reg, old);		return false;	}	LOG(("ac97_set_rate done\n"));	return true;}