Messages in this thread | | | From | Adam Thomson <> | Subject | RE: [PATCH v5 5/5] typec: tcpm: Add support for sink PPS related messages | Date | Thu, 22 Mar 2018 09:37:44 +0000 |
| |
On 22 March 2018 03:53, Guenter Roeck wrote:
> > +static void tcpm_pd_ext_msg_request(struct tcpm_port *port, > > + const struct pd_message *msg) > > +{ > > + enum pd_ext_msg_type type = pd_header_type_le(msg->header); > > + unsigned int data_size = pd_ext_header_data_size_le(msg- > >ext_msg.header); > > + u8 *data; > > + > > + if (!(msg->ext_msg.header && PD_EXT_HDR_CHUNKED)) { > > + tcpm_log(port, "Unchunked extended messages unsupported"); > > + return; > > + } > > + > > + if (data_size > (PD_EXT_MAX_CHUNK_DATA)) { > > + tcpm_log(port, "Chunk handling not yet supported"); > > + return; > > + } > > + > > + data = kzalloc(data_size, GFP_KERNEL); > > + if (!data) { > > + tcpm_log(port, "Failed to allocate memory for ext msg data"); > > + return; > > + } > > + memcpy(data, msg->ext_msg.data, data_size); > > + > > + switch (type) { > > + case PD_EXT_STATUS: > > + /* > > + * If PPS related events raised then get PPS status to clear > > + * (see USB PD 3.0 Spec, 6.5.2.4) > > + */ > > + if (data[USB_PD_EXT_SDB_EVENT_FLAGS] & > USB_PD_EXT_SDB_PPS_EVENTS) > > This seems to be the only use of 'data'. Can you explain why it is needed > in the first place ? Am I missing something ?
Actually it's a fair point. Right now it's not needed so will remove it and directly reference the ext_msg.data array.
| |