Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1168386a authored by Dominik Brodowski's avatar Dominik Brodowski
Browse files

pcmcia: deprecate CS_OUT_OF_RESOURCE



CS_OUT_OF_RESOURCE was almost only used to note -ENOMEM situations.
Therefore, use -ENOMEM explicitely, and also print out warnings.

CC: netdev@vger.kernel.org
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent 5ff87db6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -491,7 +491,7 @@ static int mhz_mfc_config(struct pcmcia_device *link)

    cfg_mem = kmalloc(sizeof(struct smc_cfg_mem), GFP_KERNEL);
    if (!cfg_mem)
        return CS_OUT_OF_RESOURCE;
	    return -ENOMEM;

    link->conf.Attributes |= CONF_ENABLE_SPKR;
    link->conf.Status = CCSR_AUDIO_ENA;
@@ -690,7 +690,7 @@ static int smc_setup(struct pcmcia_device *link)

    cfg_mem = kmalloc(sizeof(struct smc_cfg_mem), GFP_KERNEL);
    if (!cfg_mem)
	return CS_OUT_OF_RESOURCE;
	    return -ENOMEM;

    tuple = &cfg_mem->tuple;
    parse = &cfg_mem->parse;
+27 −16
Original line number Diff line number Diff line
@@ -352,7 +352,9 @@ int verify_cis_cache(struct pcmcia_socket *s)

	buf = kmalloc(256, GFP_KERNEL);
	if (buf == NULL)
		return -1;
		dev_printk(KERN_WARNING, &s->dev,
			   "no memory for verifying CIS\n");
		return -ENOMEM;
	list_for_each_entry(cis, &s->cis_cache, node) {
		int len = cis->len;

@@ -384,12 +386,16 @@ int verify_cis_cache(struct pcmcia_socket *s)
int pcmcia_replace_cis(struct pcmcia_socket *s,
		       const u8 *data, const size_t len)
{
    if (len > CISTPL_MAX_CIS_SIZE)
	return CS_BAD_SIZE;
	if (len > CISTPL_MAX_CIS_SIZE) {
		dev_printk(KERN_WARNING, &s->dev, "replacement CIS too big\n");
		return -EINVAL;
	}
	kfree(s->fake_cis);
	s->fake_cis = kmalloc(len, GFP_KERNEL);
    if (s->fake_cis == NULL)
	return CS_OUT_OF_RESOURCE;
	if (s->fake_cis == NULL) {
		dev_printk(KERN_WARNING, &s->dev, "no memory to replace CIS\n");
		return -ENOMEM;
	}
	s->fake_cis_len = len;
	memcpy(s->fake_cis, data, len);
	return 0;
@@ -1411,8 +1417,10 @@ int pccard_read_tuple(struct pcmcia_socket *s, unsigned int function, cisdata_t
    int ret;

    buf = kmalloc(256, GFP_KERNEL);
    if (buf == NULL)
	return CS_OUT_OF_RESOURCE;
    if (buf == NULL) {
	    dev_printk(KERN_WARNING, &s->dev, "no memory to read tuple\n");
	    return -ENOMEM;
    }
    tuple.DesiredTuple = code;
    tuple.Attributes = TUPLE_RETURN_COMMON;
    ret = pccard_get_first_tuple(s, function, &tuple);
@@ -1452,12 +1460,15 @@ int pccard_validate_cis(struct pcmcia_socket *s, unsigned int function, unsigned
	return CS_BAD_HANDLE;

    tuple = kmalloc(sizeof(*tuple), GFP_KERNEL);
    if (tuple == NULL)
	return CS_OUT_OF_RESOURCE;
    if (tuple == NULL) {
	    dev_printk(KERN_WARNING, &s->dev, "no memory to validate CIS\n");
	    return -ENOMEM;
    }
    p = kmalloc(sizeof(*p), GFP_KERNEL);
    if (p == NULL) {
	    kfree(tuple);
	return CS_OUT_OF_RESOURCE;
	    dev_printk(KERN_WARNING, &s->dev, "no memory to validate CIS\n");
	    return -ENOMEM;
    }

    count = reserved = 0;
+1 −1
Original line number Diff line number Diff line
@@ -780,7 +780,7 @@ int pcmcia_request_window(struct pcmcia_device **p_dev, win_req_t *req, window_h
	for (w = 0; w < MAX_WIN; w++)
		if (!(s->state & SOCKET_WIN_REQ(w))) break;
	if (w == MAX_WIN)
		return CS_OUT_OF_RESOURCE;
		return CS_IN_USE;

	win = &s->win[w];
	win->magic = WINDOW_MAGIC;
+19 −13
Original line number Diff line number Diff line
@@ -131,7 +131,10 @@ static int add_interval(struct resource_map *map, u_long base, u_long num)
			break;
	}
	q = kmalloc(sizeof(struct resource_map), GFP_KERNEL);
    if (!q) return CS_OUT_OF_RESOURCE;
	if (!q) {
		printk(KERN_WARNING "out of memory to update resources\n");
		return -ENOMEM;
	}
	q->base = base; q->num = num;
	q->next = p->next; p->next = q;
	return 0;
@@ -166,7 +169,10 @@ static int sub_interval(struct resource_map *map, u_long base, u_long num)
	    } else {
		/* Split the block into two pieces */
		p = kmalloc(sizeof(struct resource_map), GFP_KERNEL);
		if (!p) return CS_OUT_OF_RESOURCE;
		if (!p) {
		    printk(KERN_WARNING "out of memory to update resources\n");
		    return -ENOMEM;
		}
		p->base = base+num;
		p->num = q->base+q->num - p->base;
		q->num = base - q->base;
+1 −1
Original line number Diff line number Diff line
@@ -316,7 +316,7 @@ typedef struct error_info_t {
#define CS_CONFIGURATION_LOCKED	0x1d
#define CS_IN_USE		0x1e
#define CS_NO_MORE_ITEMS	0x1f
#define CS_OUT_OF_RESOURCE	0x20
#define CS_OUT_OF_RESOURCE	-ENOMEM
#define CS_BAD_HANDLE		0x21

#define CS_BAD_TUPLE		0x40