Merge tag 'rpmsg-v4.10' of git://github.com/andersson/remoteproc

Pull rpmsg updates from Bjorn Andersson:
 "Argument validation in public functions, function stubs for
  COMPILE_TEST-ing clients, preparation for exposing rpmsg endponts
  to user space and minor Qualcomm SMD fixes"

* tag 'rpmsg-v4.10' of git://github.com/andersson/remoteproc:
  dt-binding: soc: qcom: smd: Add label property
  rpmsg: qcom_smd: Correct return value for O_NONBLOCK
  rpmsg: Provide function stubs for API
  rpmsg: Handle invalid parameters in public API
  rpmsg: Support drivers without primary endpoint
  rpmsg: Introduce a driver override mechanism
  rpmsg: smd: Reduce restrictions when finding channel
This commit is contained in:
Linus Torvalds
2016-12-13 08:52:45 -08:00
3 changed files with 178 additions and 38 deletions

View File

@@ -740,7 +740,7 @@ static int __qcom_smd_send(struct qcom_smd_channel *channel, const void *data,
while (qcom_smd_get_tx_avail(channel) < tlen) {
if (!wait) {
ret = -ENOMEM;
ret = -EAGAIN;
goto out;
}
@@ -821,20 +821,13 @@ qcom_smd_find_channel(struct qcom_smd_edge *edge, const char *name)
struct qcom_smd_channel *channel;
struct qcom_smd_channel *ret = NULL;
unsigned long flags;
unsigned state;
spin_lock_irqsave(&edge->channels_lock, flags);
list_for_each_entry(channel, &edge->channels, list) {
if (strcmp(channel->name, name))
continue;
state = GET_RX_CHANNEL_INFO(channel, state);
if (state != SMD_CHANNEL_OPENING &&
state != SMD_CHANNEL_OPENED)
continue;
ret = channel;
break;
if (!strcmp(channel->name, name)) {
ret = channel;
break;
}
}
spin_unlock_irqrestore(&edge->channels_lock, flags);