@@ -389,44 +389,29 @@ rpcrdma_ia_open(struct rpcrdma_xprt *xprt, struct sockaddr *addr, int memreg)
389389 ia -> ri_pd = ib_alloc_pd (ia -> ri_device );
390390 if (IS_ERR (ia -> ri_pd )) {
391391 rc = PTR_ERR (ia -> ri_pd );
392- dprintk ("RPC: %s: ib_alloc_pd() failed %i\n" ,
393- __func__ , rc );
392+ pr_err ("rpcrdma: ib_alloc_pd() returned %d\n" , rc );
394393 goto out2 ;
395394 }
396395
397- if (memreg == RPCRDMA_FRMR ) {
398- if (!(ia -> ri_device -> attrs .device_cap_flags &
399- IB_DEVICE_MEM_MGT_EXTENSIONS ) ||
400- (ia -> ri_device -> attrs .max_fast_reg_page_list_len == 0 )) {
401- dprintk ("RPC: %s: FRMR registration "
402- "not supported by HCA\n" , __func__ );
403- memreg = RPCRDMA_MTHCAFMR ;
404- }
405- }
406- if (memreg == RPCRDMA_MTHCAFMR ) {
407- if (!ia -> ri_device -> alloc_fmr ) {
408- dprintk ("RPC: %s: MTHCAFMR registration "
409- "not supported by HCA\n" , __func__ );
410- rc = - EINVAL ;
411- goto out3 ;
412- }
413- }
414-
415396 switch (memreg ) {
416397 case RPCRDMA_FRMR :
417- ia -> ri_ops = & rpcrdma_frwr_memreg_ops ;
418- break ;
398+ if (frwr_is_supported (ia )) {
399+ ia -> ri_ops = & rpcrdma_frwr_memreg_ops ;
400+ break ;
401+ }
402+ /*FALLTHROUGH*/
419403 case RPCRDMA_MTHCAFMR :
420- ia -> ri_ops = & rpcrdma_fmr_memreg_ops ;
421- break ;
404+ if (fmr_is_supported (ia )) {
405+ ia -> ri_ops = & rpcrdma_fmr_memreg_ops ;
406+ break ;
407+ }
408+ /*FALLTHROUGH*/
422409 default :
423- printk ( KERN_ERR "RPC : Unsupported memory "
424- "registration mode: %d\n" , memreg );
425- rc = - ENOMEM ;
410+ pr_err ( "rpcrdma : Unsupported memory registration mode: %d\n" ,
411+ memreg );
412+ rc = - EINVAL ;
426413 goto out3 ;
427414 }
428- dprintk ("RPC: %s: memory registration strategy is '%s'\n" ,
429- __func__ , ia -> ri_ops -> ro_displayname );
430415
431416 return 0 ;
432417
0 commit comments