| 277 | } |
| 278 | |
| 279 | int |
| 280 | ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) |
| 281 | { |
| 282 | bool done; |
| 283 | int err; |
| 284 | |
| 285 | IONIC_PRINT(DEBUG, "Sending %s (%d) via the admin queue", |
| 286 | ionic_opcode_to_str(ctx->cmd.cmd.opcode), ctx->cmd.cmd.opcode); |
| 287 | |
| 288 | err = ionic_adminq_post(lif, ctx); |
| 289 | if (err) { |
| 290 | IONIC_PRINT(ERR, "Failure posting %d to the admin queue (%d)", |
| 291 | ctx->cmd.cmd.opcode, err); |
| 292 | return err; |
| 293 | } |
| 294 | |
| 295 | done = ionic_adminq_wait_for_completion(lif, ctx, |
| 296 | IONIC_DEVCMD_TIMEOUT); |
| 297 | |
| 298 | return ionic_adminq_check_err(ctx, !done /* timed out */); |
| 299 | } |
| 300 | |
| 301 | static int |
| 302 | ionic_dev_cmd_wait(struct ionic_dev *idev, unsigned long max_wait) |
no test coverage detected