On Sat, Jan 30, 2010 at 3:50 PM, David Gwynne <l...@animata.net> wrote:
...
> -       am = malloc(sizeof(struct ami_mem), M_DEVBUF, M_NOWAIT|M_ZERO);
> +       am = malloc(sizeof(struct ami_mem), M_DEVBUF, M_ZERO |
> +           nowait ? M_NOWAIT : 0);

Oops, precedence lossage!  That always passes M_NOWAIT (and never
M_ZERO) to malloc().

Jeff, you tested with the above diff, right?  Can you change that call
to instead read
        am = malloc(sizeof(struct ami_mem), M_DEVBUF, M_ZERO | (nowait
? M_NOWAIT : 0));

(i.e., add parens around the ternary operation) and try again?


Philip Guenther


Reply via email to