Among other things, tooling and vendor libraries. Vendor libraries are often composed of thousands upon thousands of lines of auto-generated C headers and written in some bespoke format. Demonstration code and/or sample drivers are almost invariably provided in C. Of course you _can_ rewrite these in Rust, but if you're an engineer trying to get shit working, you'd first basically have to reinvent the whole wheel just to do bringup.
I don't even want to talk about the state of proprietary vendor tooling...
Documentation is severely lacking and vendor specific libraries and build systems are sometimes interfering with cargo.
Thereās also the problem of rust-analyzer being relatively flaky in general and even more so when being used with environment specific / KConfig / build system feature flags that enable or disable certain library headers.
I don't even want to talk about the state of proprietary vendor tooling...