ipmi: kcs_bmc: Make status update atomic
[linux-2.6-microblaze.git] / drivers / char / ipmi / kcs_bmc.c
index f292e74..58fb1a7 100644 (file)
@@ -67,12 +67,7 @@ static inline void write_status(struct kcs_bmc *kcs_bmc, u8 data)
 
 static void update_status_bits(struct kcs_bmc *kcs_bmc, u8 mask, u8 val)
 {
-       u8 tmp = read_status(kcs_bmc);
-
-       tmp &= ~mask;
-       tmp |= val & mask;
-
-       write_status(kcs_bmc, tmp);
+       kcs_bmc->io_updateb(kcs_bmc, kcs_bmc->ioreg.str, mask, val);
 }
 
 static inline void set_state(struct kcs_bmc *kcs_bmc, u8 state)