I2C clock incorrect

Im using the stm32f407 discovery to run I2C in fastmode (400kHz), using the equation given in the datasheet, I choose the system clock to be 120Mhz, so I have 30Mhz pclk for I2C. duty cycle T_low/T_high = 2, so CCR is 25d, T_rise is 300ns so that would result in 10d. But the clock doesn't be 400kHz, it keep changing at 333kHz or 500kHz. sorry for my bad english, appreciate for any help.
