-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix compilation with kernel 6.1 #67
Conversation
Fix compilation with kernel 6.1, deal with the media-controller changes which have landed in 6.1-rc2. Closes: intel#63 Signed-off-by: Hans de Goede <[email protected]>
I've applied it on top of https://git.launchpad.net/~vicamo/+git/intel-ipu6-dkms/tree/debian?h=ubuntu/devel but it stalls during boot:
|
Tried again by building your branch and I hit the same issue |
(fyi: 6.0.x boots fine with this) |
Hmm, I have so far only tested this on a Lenovo ThinkPad X1 Yoga Gen 7 I did need to either blacklist the intel-ipu6* modules in modprobe.conf and then load them manually starting with intel-ipu6, otherwise I would get a different NULL pointer deref. I have a fix for this in #68 now. I do have a Dell XPS 9360 here, which I expect is closer to your Dell then then ThinkPad Yoga. I will give that a try too, but I don't expect to get around that before next week Monday. |
@mrhpearson, @vicamo Note if you want to build / try the IPU6 drivers with 6.1-rc2 or newer you will need this pull-req; and if you let udev load the modules at boot rather then doing it manually you will also need #68 to avoid a kernel crash due to a probe-ordering issue. |
Yes, I am testing a new Ubuntu release with these combined. |
I have boot hang with or without #68 on v6.1-rc6. |
Turns out it's a problem in vsc, and can be fixed by intel/ivsc-driver#27. |
Can confirm that this change fixes compilation on v6.1-rc6 and v6.1-rc7 and mentioned fix for ivsc-driver fixes the boot hang |
validated with #69 |
Kernel >= 6.2 set vb2_queue->streaming a bit earlier as <= 6.1, specifically vb2_queue->streaming is set before the videobuf2-core enqueues the buffers (just before calling start_streaming). __buf_queue() uses vb2_queue->streaming to differentiate between buffers queued before and after start_streaming has been called and that will now no longer work, leading to a NULL pointer deref of the not yet setup media_pipe pointer. Fix this by explicitly checking for media_pipe == NULL. Note this check cannot be used to replace the vb2_queue->streaming check since for kernels < 6.1 media_pipe is always set. Signed-off-by: Hans de Goede <[email protected]>
Note I have just added an extra patch fixing the ipu6-driver crashing with linux-next / with the upcoming 6.2-rc# kernels. |
Ping? Is there a reason why this has not been merged yet? |
Please! 😭 |
Fix compilation with kernel 6.1, deal with the media-controller changes which have landed in 6.1-rc2.
Closes: #63
Signed-off-by: Hans de Goede [email protected]