Re: [PATCH 3/4] myri10ge - Driver core

Roland Dreier
2006-05-17T22:36:24Z

Still some suspicious uses of volatile here.

For example:

> +struct myri10ge_priv {
...
> + volatile u8 __iomem *sram;

as far as I can see this is always used with proper __iomem accessors,
often with casts to strip the volatile anyway. So why is volatile needed?

I would suggest an audit of all uses of volatile in the driver, since
"volatile" in drivers really should be read "there's probably a bug
here, and if not something very tricky is going on." If there are any
valid uses of volatile then a comment should explain why, so that
future reviewers don't have to try and puzzle out which of the
two possible translations of volatile is correct.

- R.