@@ -206,7 +206,8 @@ static int __vb2_buf_mem_alloc(struct vb2_buffer *vb)
206
206
for (plane = 0 ; plane < vb -> num_planes ; ++ plane ) {
207
207
unsigned long size = PAGE_ALIGN (vb -> planes [plane ].length );
208
208
209
- mem_priv = call_ptr_memop (vb , alloc , q -> alloc_ctx [plane ],
209
+ mem_priv = call_ptr_memop (vb , alloc ,
210
+ q -> alloc_ctx [plane ] ? : & q -> dev ,
210
211
q -> dma_attrs , size , dma_dir , q -> gfp_flags );
211
212
if (IS_ERR_OR_NULL (mem_priv ))
212
213
goto free ;
@@ -1131,9 +1132,10 @@ static int __qbuf_userptr(struct vb2_buffer *vb, const void *pb)
1131
1132
vb -> planes [plane ].data_offset = 0 ;
1132
1133
1133
1134
/* Acquire each plane's memory */
1134
- mem_priv = call_ptr_memop (vb , get_userptr , q -> alloc_ctx [plane ],
1135
- planes [plane ].m .userptr ,
1136
- planes [plane ].length , dma_dir );
1135
+ mem_priv = call_ptr_memop (vb , get_userptr ,
1136
+ q -> alloc_ctx [plane ] ? : & q -> dev ,
1137
+ planes [plane ].m .userptr ,
1138
+ planes [plane ].length , dma_dir );
1137
1139
if (IS_ERR_OR_NULL (mem_priv )) {
1138
1140
dprintk (1 , "failed acquiring userspace "
1139
1141
"memory for plane %d\n" , plane );
@@ -1256,8 +1258,8 @@ static int __qbuf_dmabuf(struct vb2_buffer *vb, const void *pb)
1256
1258
1257
1259
/* Acquire each plane's memory */
1258
1260
mem_priv = call_ptr_memop (vb , attach_dmabuf ,
1259
- q -> alloc_ctx [plane ], dbuf , planes [ plane ]. length ,
1260
- dma_dir );
1261
+ q -> alloc_ctx [plane ] ? : & q -> dev ,
1262
+ dbuf , planes [ plane ]. length , dma_dir );
1261
1263
if (IS_ERR (mem_priv )) {
1262
1264
dprintk (1 , "failed to attach dmabuf\n" );
1263
1265
ret = PTR_ERR (mem_priv );
0 commit comments