9V wallwart powering a fan via Raspberry Pi
I take it that you've used the multiplier factor of 3 over minimum hFE to ensure saturation. You seem to be missing the Vbe voltage, and to have slipped a decimal place, but the approach is valid. 

The base resistor would be: 

R = \$\frac{(V_{GPIO} - V_{BE})}{3\cdot 2.8mA}\$

Assuming the output voltage is 3V with that load, and Vbe is 0.7V

R~= 270\$\Omega\$ 

The Rpi has programmable output current capability of up to 16mA but I've not easily found the specification of minimum output voltage at 8mA source current. Assuming it's in the 3V range, your circuit should work fine as is, with a 270 ohm base resistor. 

It might be a good idea to put a reverse-biased diode across the fan to deal with any inductance the motor windings have. 

Edit: Here is a typical fan controller chip (inside your 12V fan) output section: 



When your transistor turns off the energy stored in the inductance of the motor windings causes the voltage on the outputs to rise until the zener diodes conduct turning the transistors partially on, causing the chip to heat and wasting power. If you put a diode across the fan then more of the current will be used in the coils providing torque for the fan motor and resulting in less stress on the controller chip.