Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4668
b: refs/heads/master
c: 862104e
h: refs/heads/master
v: v3
  • Loading branch information
Dominik Brodowski authored and Linus Torvalds committed Jul 12, 2005
1 parent 96b0d3c commit 0997542
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8e2f3b70e60172f5ed7c0933b8d8a35654c1c031
refs/heads/master: 862104e56329babf0b9571281e9516fe6259dd17
20 changes: 9 additions & 11 deletions trunk/drivers/pcmcia/yenta_socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ static void yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned typ
res = socket->dev->resource + PCI_BRIDGE_RESOURCES + nr;
/* Already allocated? */
if (res->parent)
return 0;
return;

/* The granularity of the memory limit is 4kB, on IO it's 4 bytes */
mask = ~0xfff;
Expand All @@ -562,25 +562,23 @@ static void yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned typ
bus = socket->dev->subordinate;
res->name = bus->name;
res->flags = type;
res->start = 0;
res->end = 0;
root = pci_find_parent_resource(socket->dev, res);

if (!root)
return;

start = config_readl(socket, offset) & mask;
end = config_readl(socket, offset+4) | ~mask;
if (start && end > start && !override_bios) {
res->start = start;
res->end = end;
if (request_resource(root, res) == 0)
root = pci_find_parent_resource(socket->dev, res);
if (root && (request_resource(root, res) == 0))
return;
printk(KERN_INFO "yenta %s: Preassigned resource %d busy, reconfiguring...\n",
printk(KERN_INFO "yenta %s: Preassigned resource %d busy or not available, reconfiguring...\n",
pci_name(socket->dev), nr);
res->start = res->end = 0;
}

res->start = 0;
res->end = 0;
root = pci_find_parent_resource(socket->dev, res);

if (type & IORESOURCE_IO) {
align = 1024;
size = BRIDGE_IO_MAX;
Expand Down Expand Up @@ -629,7 +627,7 @@ static void yenta_allocate_resources(struct yenta_socket *socket)
yenta_allocate_res(socket, 0, IORESOURCE_MEM|IORESOURCE_PREFETCH);
yenta_allocate_res(socket, 1, IORESOURCE_MEM);
yenta_allocate_res(socket, 2, IORESOURCE_IO);
yenta_allocate_res(socket, 3, IORESOURCE_IO); /* PCI isn't clever enough to use this one yet */
yenta_allocate_res(socket, 3, IORESOURCE_IO);
}


Expand Down

0 comments on commit 0997542

Please sign in to comment.