__FUNCTION__, params->filter); 
__FUNCTION__, *params->filter); 
static int gen_ndis_set_resp (u8 configNr, u32 OID, u8 *buf, u32 buf_len, 			      rndis_resp_t *r){	rndis_set_cmplt_type		*resp;	int 				i, retval = -ENOTSUPP;	struct rndis_params		*params;	if (!r)		return -ENOMEM;	resp = (rndis_set_cmplt_type *) r->buf;	if (!resp)		return -ENOMEM;	DEBUG("set OID %08x value, len %d:\n", OID, buf_len);	for (i = 0; i < buf_len; i += 16) {		DEBUG ("%03d: "			" %02x %02x %02x %02x"			" %02x %02x %02x %02x"			" %02x %02x %02x %02x"			" %02x %02x %02x %02x"			"\n",			i,			buf[i], buf [i+1],				buf[i+2], buf[i+3],			buf[i+4], buf [i+5],				buf[i+6], buf[i+7],			buf[i+8], buf [i+9],				buf[i+10], buf[i+11],			buf[i+12], buf [i+13],				buf[i+14], buf[i+15]);	}	switch (OID) {	case OID_GEN_CURRENT_PACKET_FILTER:		params = &rndis_per_dev_params [configNr];		retval = 0;		/* FIXME use these NDIS_PACKET_TYPE_* bitflags to		 * set the cdc_filter; it's not RNDIS-specific		 * NDIS_PACKET_TYPE_x == USB_CDC_PACKET_TYPE_x for x in:		 *	PROMISCUOUS, DIRECTED,		 *	MULTICAST, ALL_MULTICAST, BROADCAST		 */		params->filter = le32_to_cpup((__le32 *)buf);		DEBUG("%s: OID_GEN_CURRENT_PACKET_FILTER %08x\n",			__FUNCTION__, params->filter);		/* this call has a significant side effect:  it's		 * what makes the packet flow start and stop, like		 * activating the CDC Ethernet altsetting.		 */		if (params->filter) {			params->state = RNDIS_DATA_INITIALIZED;			netif_carrier_on(params->dev);			if (netif_running(params->dev))				netif_wake_queue (params->dev);		} else {			params->state = RNDIS_INITIALIZED;			netif_carrier_off (params->dev);			netif_stop_queue (params->dev);		}		break;			case OID_802_3_MULTICAST_LIST:		/* I think we can ignore this */				DEBUG("%s: OID_802_3_MULTICAST_LIST\n", __FUNCTION__);		retval = 0;		break;#if 0	case OID_GEN_RNDIS_CONFIG_PARAMETER:		{		struct rndis_config_parameter	*param;		param = (struct rndis_config_parameter *) buf;		DEBUG("%s: OID_GEN_RNDIS_CONFIG_PARAMETER '%*s'\n",			__FUNCTION__,			min(cpu_to_le32(param->ParameterNameLength),80),			buf + param->ParameterNameOffset);		retval = 0;		}		break;#endif#ifdef	RNDIS_PM	case OID_PNP_SET_POWER:		DEBUG ("OID_PNP_SET_POWER\n");		/* sure, handle any power state that maps to USB suspend */		retval = 0;		break;	case OID_PNP_ENABLE_WAKE_UP:		/* always-connected ... */		DEBUG ("OID_PNP_ENABLE_WAKE_UP\n");		retval = 0;		break;	// no PM resume patterns supported (specified where?)	// so OID_PNP_{ADD,REMOVE}_WAKE_UP_PATTERN always fails#endif	default:		printk (KERN_WARNING "%s: set unknown OID 0x%08X, size %d\n", 			 __FUNCTION__, OID, buf_len);	}		return retval;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/340600ab4cf0cc41efd01a65af97ebb7d35a7f85/rndis.c/buggy/drivers/usb/gadget/rndis.c