tcp.c (08a7c7772b4db0be06e3b27239147c0a36e2a507) tcp.c (ff029451496364eef0d342618dfc9972b78f3392)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NVMe over Fabrics TCP host.
4 * Copyright (c) 2018 Lightbits Labs. All rights reserved.
5 */
6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
7#include <linux/module.h>
8#include <linux/init.h>

--- 450 unchanged lines hidden (view full) ---

459 if (!rq) {
460 dev_err(queue->ctrl->ctrl.device,
461 "queue %d tag 0x%x not found\n",
462 nvme_tcp_queue_id(queue), cqe->command_id);
463 nvme_tcp_error_recovery(&queue->ctrl->ctrl);
464 return -EINVAL;
465 }
466
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NVMe over Fabrics TCP host.
4 * Copyright (c) 2018 Lightbits Labs. All rights reserved.
5 */
6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
7#include <linux/module.h>
8#include <linux/init.h>

--- 450 unchanged lines hidden (view full) ---

459 if (!rq) {
460 dev_err(queue->ctrl->ctrl.device,
461 "queue %d tag 0x%x not found\n",
462 nvme_tcp_queue_id(queue), cqe->command_id);
463 nvme_tcp_error_recovery(&queue->ctrl->ctrl);
464 return -EINVAL;
465 }
466
467 nvme_end_request(rq, cqe->status, cqe->result);
467 if (!nvme_end_request(rq, cqe->status, cqe->result))
468 nvme_complete_rq(rq);
468 queue->nr_cqe++;
469
470 return 0;
471}
472
473static int nvme_tcp_handle_c2h_data(struct nvme_tcp_queue *queue,
474 struct nvme_tcp_data_pdu *pdu)
475{

--- 173 unchanged lines hidden (view full) ---

649 return -EINVAL;
650 }
651}
652
653static inline void nvme_tcp_end_request(struct request *rq, u16 status)
654{
655 union nvme_result res = {};
656
469 queue->nr_cqe++;
470
471 return 0;
472}
473
474static int nvme_tcp_handle_c2h_data(struct nvme_tcp_queue *queue,
475 struct nvme_tcp_data_pdu *pdu)
476{

--- 173 unchanged lines hidden (view full) ---

650 return -EINVAL;
651 }
652}
653
654static inline void nvme_tcp_end_request(struct request *rq, u16 status)
655{
656 union nvme_result res = {};
657
657 nvme_end_request(rq, cpu_to_le16(status << 1), res);
658 if (!nvme_end_request(rq, cpu_to_le16(status << 1), res))
659 nvme_complete_rq(rq);
658}
659
660static int nvme_tcp_recv_data(struct nvme_tcp_queue *queue, struct sk_buff *skb,
661 unsigned int *offset, size_t *len)
662{
663 struct nvme_tcp_data_pdu *pdu = (void *)queue->pdu;
664 struct nvme_tcp_request *req;
665 struct request *rq;

--- 1828 unchanged lines hidden ---
660}
661
662static int nvme_tcp_recv_data(struct nvme_tcp_queue *queue, struct sk_buff *skb,
663 unsigned int *offset, size_t *len)
664{
665 struct nvme_tcp_data_pdu *pdu = (void *)queue->pdu;
666 struct nvme_tcp_request *req;
667 struct request *rq;

--- 1828 unchanged lines hidden ---