On Tue, Jan 08, 2019 at 04:39:21PM -0700, Jason Gunthorpe wrote: > On Tue, Jan 08, 2019 at 09:55:54PM +0000, Majd Dibbiny wrote: > > > @@ -537,11 +538,13 @@ static int setup_device(struct ib_device *device) > > > } > > > > > > memset(&device->attrs, 0, sizeof(device->attrs)); > > > - ret = device->ops.query_device(device, &device->attrs, &uhw); > > > - if (ret) { > > > - dev_warn(&device->dev, > > > - "Couldn't query the device attributes\n"); > > > - goto port_cleanup; > > > + if (device->ops.query_device) { > > > Why do we need these kind of checks now? In case device doesn’t > > implement all mandatory kverbs, then clients won’t add it.. uverbs > > has uverbs_cmd_mask in write path, and checks function pointer in > > the ioctl path.. Maybe I’m missing something.. > > Yah, I agree, the checks should be in the uverbs layer, and presumably > they are all there already, it just needs careful checking. Didn't we plan to remove uverbs_cmd_mask and move to != NULL checks? > > Jason
Attachment:
signature.asc
Description: PGP signature