Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: hisilicon/zip - add print for error branch

Add print for some error branches.

Signed-off-by: Yang Shen <shenyang39@huawei.com>
Reviewed-by: Zhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Yang Shen and committed by
Herbert Xu
b1a25820 de590233

+45 -16
+40 -13
drivers/crypto/hisilicon/zip/zip_crypto.c
··· 146 146 147 147 ret = hisi_qm_start_qp(qp, 0); 148 148 if (ret < 0) { 149 - dev_err(dev, "start qp failed!\n"); 149 + dev_err(dev, "failed to start qp (%d)!\n", ret); 150 150 return ret; 151 151 } 152 152 ··· 169 169 170 170 ret = zip_create_qps(qps, HZIP_CTX_Q_NUM, node); 171 171 if (ret) { 172 - pr_err("Can not create zip qps!\n"); 172 + pr_err("failed to create zip qps (%d)!\n", ret); 173 173 return -ENODEV; 174 174 } 175 175 ··· 380 380 { 381 381 const char *alg_name = crypto_tfm_alg_name(&tfm->base); 382 382 struct hisi_zip_ctx *ctx = crypto_tfm_ctx(&tfm->base); 383 + struct device *dev; 383 384 int ret; 384 385 385 386 ret = hisi_zip_ctx_init(ctx, COMP_NAME_TO_TYPE(alg_name), tfm->base.node); 386 - if (ret) 387 + if (ret) { 388 + pr_err("failed to init ctx (%d)!\n", ret); 387 389 return ret; 390 + } 391 + 392 + dev = &ctx->qp_ctx[0].qp->qm->pdev->dev; 388 393 389 394 ret = hisi_zip_create_req_q(ctx); 390 - if (ret) 395 + if (ret) { 396 + dev_err(dev, "failed to create request queue (%d)!\n", ret); 391 397 goto err_ctx_exit; 398 + } 392 399 393 400 ret = hisi_zip_create_sgl_pool(ctx); 394 - if (ret) 401 + if (ret) { 402 + dev_err(dev, "failed to create sgl pool (%d)!\n", ret); 395 403 goto err_release_req_q; 404 + } 396 405 397 406 hisi_zip_set_acomp_cb(ctx, hisi_zip_acomp_cb); 398 407 ··· 431 422 int ret; 432 423 433 424 ret = sg_copy_from_buffer(dst, sg_nents(dst), head, head_size); 434 - if (ret != head_size) 425 + if (ret != head_size) { 426 + pr_err("the head size of buffer is wrong (%d)!\n", ret); 435 427 return -ENOMEM; 428 + } 436 429 437 430 return head_size; 438 431 } ··· 515 504 516 505 req->hw_src = hisi_acc_sg_buf_map_to_hw_sgl(dev, a_req->src, pool, 517 506 req->req_id << 1, &input); 518 - if (IS_ERR(req->hw_src)) 507 + if (IS_ERR(req->hw_src)) { 508 + dev_err(dev, "failed to map the src buffer to hw sgl (%ld)!\n", 509 + PTR_ERR(req->hw_src)); 519 510 return PTR_ERR(req->hw_src); 511 + } 520 512 req->dma_src = input; 521 513 522 514 req->hw_dst = hisi_acc_sg_buf_map_to_hw_sgl(dev, a_req->dst, pool, 523 515 (req->req_id << 1) + 1, 524 516 &output); 525 517 if (IS_ERR(req->hw_dst)) { 518 + dev_err(dev, "failed to map the dst buffer to hw slg (%ld)!\n", 519 + PTR_ERR(req->hw_dst)); 526 520 ret = PTR_ERR(req->hw_dst); 527 521 goto err_unmap_input; 528 522 } ··· 543 527 ret = hisi_qp_send(qp, &zip_sqe); 544 528 if (ret < 0) { 545 529 atomic64_inc(&dfx->send_busy_cnt); 530 + dev_dbg_ratelimited(dev, "failed to send request!\n"); 546 531 goto err_unmap_output; 547 532 } 548 533 ··· 560 543 { 561 544 struct hisi_zip_ctx *ctx = crypto_tfm_ctx(acomp_req->base.tfm); 562 545 struct hisi_zip_qp_ctx *qp_ctx = &ctx->qp_ctx[HZIP_QPC_COMP]; 546 + struct device *dev = &qp_ctx->qp->qm->pdev->dev; 563 547 struct hisi_zip_req *req; 564 548 int head_size; 565 549 int ret; 566 550 567 551 /* let's output compression head now */ 568 552 head_size = add_comp_head(acomp_req->dst, qp_ctx->qp->req_type); 569 - if (head_size < 0) 570 - return -ENOMEM; 553 + if (head_size < 0) { 554 + dev_err_ratelimited(dev, "failed to add comp head (%d)!\n", 555 + head_size); 556 + return head_size; 557 + } 571 558 572 559 req = hisi_zip_create_req(acomp_req, qp_ctx, (size_t)head_size, true); 573 560 if (IS_ERR(req)) 574 561 return PTR_ERR(req); 575 562 576 563 ret = hisi_zip_do_work(req, qp_ctx); 577 - if (ret != -EINPROGRESS) 564 + if (ret != -EINPROGRESS) { 565 + dev_info_ratelimited(dev, "failed to do compress (%d)!\n", ret); 578 566 hisi_zip_remove_req(qp_ctx, req); 567 + } 579 568 580 569 return ret; 581 570 } ··· 590 567 { 591 568 struct hisi_zip_ctx *ctx = crypto_tfm_ctx(acomp_req->base.tfm); 592 569 struct hisi_zip_qp_ctx *qp_ctx = &ctx->qp_ctx[HZIP_QPC_DECOMP]; 570 + struct device *dev = &qp_ctx->qp->qm->pdev->dev; 593 571 struct hisi_zip_req *req; 594 572 size_t head_size; 595 573 int ret; ··· 602 578 return PTR_ERR(req); 603 579 604 580 ret = hisi_zip_do_work(req, qp_ctx); 605 - if (ret != -EINPROGRESS) 581 + if (ret != -EINPROGRESS) { 582 + dev_info_ratelimited(dev, "failed to do decompress (%d)!\n", 583 + ret); 606 584 hisi_zip_remove_req(qp_ctx, req); 585 + } 607 586 608 587 return ret; 609 588 } ··· 645 618 646 619 ret = crypto_register_acomp(&hisi_zip_acomp_zlib); 647 620 if (ret) { 648 - pr_err("Zlib acomp algorithm registration failed\n"); 621 + pr_err("failed to register to zlib (%d)!\n", ret); 649 622 return ret; 650 623 } 651 624 652 625 ret = crypto_register_acomp(&hisi_zip_acomp_gzip); 653 626 if (ret) { 654 - pr_err("Gzip acomp algorithm registration failed\n"); 627 + pr_err("failed to register to gzip (%d)!\n", ret); 655 628 crypto_unregister_acomp(&hisi_zip_acomp_zlib); 656 629 } 657 630
+5 -3
drivers/crypto/hisilicon/zip/zip_main.c
··· 805 805 806 806 ret = hisi_zip_debugfs_init(qm); 807 807 if (ret) 808 - dev_err(&pdev->dev, "Failed to init debugfs (%d)!\n", ret); 808 + pci_err(pdev, "failed to init debugfs (%d)!\n", ret); 809 809 810 810 ret = hisi_qm_alg_register(qm, &zip_devices); 811 811 if (ret < 0) { 812 - pci_err(pdev, "Failed to register driver to crypto.\n"); 812 + pci_err(pdev, "failed to register driver to crypto!\n"); 813 813 goto err_qm_stop; 814 814 } 815 815 816 816 if (qm->uacce) { 817 817 ret = uacce_register(qm->uacce); 818 - if (ret) 818 + if (ret) { 819 + pci_err(pdev, "failed to register uacce (%d)!\n", ret); 819 820 goto err_qm_alg_unregister; 821 + } 820 822 } 821 823 822 824 if (qm->fun_type == QM_HW_PF && vfs_num > 0) {