mirror of https://gitee.com/openkylin/linux.git
ath6kl: Remove endpoint reference from hif_scatter_req
Endpoint id ffrom htc_packet can be used instead. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
7c565b6f8c
commit
e041c7f9af
|
@ -171,9 +171,8 @@ struct hif_scatter_req {
|
|||
/* total length of entire transfer */
|
||||
u32 len;
|
||||
|
||||
void (*complete) (struct hif_scatter_req *);
|
||||
void (*complete) (struct htc_target *, struct hif_scatter_req *);
|
||||
int status;
|
||||
struct htc_endpoint *ep;
|
||||
int scat_entries;
|
||||
|
||||
struct bus_request *busrequest;
|
||||
|
|
|
@ -127,10 +127,10 @@ static void htc_tx_comp_handler(struct htc_target *target,
|
|||
htc_tx_complete(endpoint, &container);
|
||||
}
|
||||
|
||||
static void htc_async_tx_scat_complete(struct hif_scatter_req *scat_req)
|
||||
static void htc_async_tx_scat_complete(struct htc_target *target,
|
||||
struct hif_scatter_req *scat_req)
|
||||
{
|
||||
struct htc_endpoint *endpoint = scat_req->ep;
|
||||
struct htc_target *target = endpoint->target;
|
||||
struct htc_endpoint *endpoint;
|
||||
struct htc_packet *packet;
|
||||
struct list_head tx_compq;
|
||||
int i;
|
||||
|
@ -144,6 +144,9 @@ static void htc_async_tx_scat_complete(struct hif_scatter_req *scat_req)
|
|||
if (scat_req->status)
|
||||
ath6kl_err("send scatter req failed: %d\n", scat_req->status);
|
||||
|
||||
packet = scat_req->scat_list[0].packet;
|
||||
endpoint = &target->endpoint[packet->endpoint];
|
||||
|
||||
/* walk through the scatter list and process */
|
||||
for (i = 0; i < scat_req->scat_entries; i++) {
|
||||
packet = scat_req->scat_list[i].packet;
|
||||
|
@ -465,7 +468,6 @@ static void htc_issue_send_bundle(struct htc_endpoint *endpoint,
|
|||
|
||||
/* send path is always asynchronous */
|
||||
scat_req->complete = htc_async_tx_scat_complete;
|
||||
scat_req->ep = endpoint;
|
||||
n_sent_bundle++;
|
||||
tot_pkts_bundle += scat_req->scat_entries;
|
||||
|
||||
|
|
|
@ -201,7 +201,7 @@ static void ath6kldev_rw_async_handler(struct htc_target *target,
|
|||
|
||||
ath6kl_add_io_pkt(dev, packet);
|
||||
|
||||
req->complete(req);
|
||||
req->complete(target, req);
|
||||
}
|
||||
|
||||
static int ath6kldev_rw_scatter(struct ath6kl *ar, struct hif_scatter_req *req)
|
||||
|
@ -243,7 +243,7 @@ static int ath6kldev_rw_scatter(struct ath6kl *ar, struct hif_scatter_req *req)
|
|||
if (packet != NULL)
|
||||
ath6kl_add_io_pkt(dev, packet);
|
||||
req->status = status;
|
||||
req->complete(req);
|
||||
req->complete(ar->htc_target, req);
|
||||
status = 0;
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ int ath6kldev_submit_scat_req(struct ath6kl_device *dev,
|
|||
if (status) {
|
||||
if (!read) {
|
||||
scat_req->status = status;
|
||||
scat_req->complete(scat_req);
|
||||
scat_req->complete(dev->ar->htc_target, scat_req);
|
||||
return 0;
|
||||
}
|
||||
return status;
|
||||
|
|
|
@ -264,7 +264,7 @@ static int ath6kl_sdio_scat_rw(struct ath6kl_sdio *ar_sdio,
|
|||
scat_req->status);
|
||||
|
||||
if (scat_req->req & HIF_ASYNCHRONOUS)
|
||||
scat_req->complete(scat_req);
|
||||
scat_req->complete(ar_sdio->ar->htc_target, scat_req);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue