POLL
(&mut self, bit: Status, val: bool)
| 256 | |
| 257 | // POLL |
| 258 | fn poll(&mut self, bit: Status, val: bool) -> Result<(), ()> |
| 259 | { |
| 260 | let start = crate::clock::uptime(); |
| 261 | while self.status().get_bit(bit as usize) != val |
| 262 | { |
| 263 | if crate::clock::uptime() - start > 1.0 |
| 264 | { |
| 265 | serprintln!("[INFO] ATA HUNG DURING POLLING OF {:?} BIT OF STATUS_REG", bit); |
| 266 | self.debug(); |
| 267 | return Err(()); |
| 268 | } |
| 269 | spin_loop(); |
| 270 | } |
| 271 | Ok(()) |
| 272 | } |
| 273 | |
| 274 | |
| 275 | // READ |