<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-05-13)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>ccj</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-14 Chris Johns <chrisj@rtems.org>
* libblock/src/flashdisk.c: Clean up on initialisation errors.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2291&r2=text&tr2=1.2292&diff_format=h">M</a></td><td width='1%'>1.2292</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libblock/src/flashdisk.c.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>cpukit/libblock/src/flashdisk.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2291 rtems/cpukit/ChangeLog:1.2292
--- rtems/cpukit/ChangeLog:1.2291 Fri May 7 04:07:17 2010
+++ rtems/cpukit/ChangeLog Thu May 13 22:59:11 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-05-14 Chris Johns <chrisj@rtems.org>
+
+ * libblock/src/flashdisk.c: Clean up on initialisation errors.
+<span style="background-color: #FF0000"> </span>
</font> 2010-05-07 Arnout Vandecappelle <arnout@mind.be>
PR 1511/networking
<font color='#006600'>diff -u rtems/cpukit/libblock/src/flashdisk.c:1.16 rtems/cpukit/libblock/src/flashdisk.c:1.17
--- rtems/cpukit/libblock/src/flashdisk.c:1.16 Wed Feb 17 18:24:24 2010
+++ rtems/cpukit/libblock/src/flashdisk.c Thu May 13 22:59:11 2010
</font><font color='#997700'>@@ -2478,24 +2478,6 @@
</font> blocks += rtems_fdisk_blocks_in_device (&c->devices[device],
c->block_size);
<font color='#880000'>- sc = rtems_disk_create_phys(dev, c->block_size,
- blocks - fd->unavail_blocks,
- rtems_fdisk_ioctl, NULL, name);
- if (sc != RTEMS_SUCCESSFUL)
- {
- rtems_fdisk_error ("disk create phy failed");
- return sc;
- }
-
- sc = rtems_semaphore_create (rtems_build_name ('F', 'D', 'S', 'K'), 1,
- RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE |
- RTEMS_INHERIT_PRIORITY, 0, &fd->lock);
- if (sc != RTEMS_SUCCESSFUL)
- {
- rtems_fdisk_error ("disk lock create failed");
- return sc;
- }
-
</font> /*
* One copy buffer of a page size.
*/
<font color='#997700'>@@ -2513,6 +2495,32 @@
</font> if (!fd->devices)
return RTEMS_NO_MEMORY;
<font color='#000088'>+ sc = rtems_semaphore_create (rtems_build_name ('F', 'D', 'S', 'K'), 1,
+ RTEMS_PRIORITY | RTEMS_BINARY_SEMAPHORE |
+ RTEMS_INHERIT_PRIORITY, 0, &fd->lock);
+ if (sc != RTEMS_SUCCESSFUL)
+ {
+ rtems_fdisk_error ("disk lock create failed");
+ free (fd->copy_buffer);
+ free (fd->blocks);
+ free (fd->devices);
+ return sc;
+ }
+
+ sc = rtems_disk_create_phys(dev, c->block_size,
+ blocks - fd->unavail_blocks,
+ rtems_fdisk_ioctl, NULL, name);
+ if (sc != RTEMS_SUCCESSFUL)
+ {
+ rtems_semaphore_delete (fd->lock);
+ rtems_disk_delete (dev);
+ free (fd->copy_buffer);
+ free (fd->blocks);
+ free (fd->devices);
+ rtems_fdisk_error ("disk create phy failed");
+ return sc;
+ }
+
</font> for (device = 0; device < c->device_count; device++)
{
rtems_fdisk_segment_ctl* sc;
<font color='#997700'>@@ -2524,8 +2532,15 @@
</font> fd->devices[device].segments = calloc (segment_count,
sizeof (rtems_fdisk_segment_ctl));
if (!fd->devices[device].segments)
<font color='#000088'>+ {
+ rtems_disk_delete (dev);
+ rtems_semaphore_delete (fd->lock);
+ free (fd->copy_buffer);
+ free (fd->blocks);
+ free (fd->devices);
</font> return RTEMS_NO_MEMORY;
<font color='#880000'>-
</font><font color='#000088'>+ }
+<span style="background-color: #FF0000"> </span>
</font> sc = fd->devices[device].segments;
for (segment = 0; segment < c->devices[device].segment_count; segment++)
<font color='#997700'>@@ -2552,13 +2567,27 @@
</font>
ret = rtems_fdisk_recover_block_mappings (fd);
if (ret)
<font color='#000088'>+ {
+ rtems_disk_delete (dev);
+ rtems_semaphore_delete (fd->lock);
+ free (fd->copy_buffer);
+ free (fd->blocks);
+ free (fd->devices);
</font> rtems_fdisk_error ("recovery of disk failed: %s (%d)",
strerror (ret), ret);
<font color='#880000'>-
</font><font color='#000088'>+ }
+<span style="background-color: #FF0000"> </span>
</font> ret = rtems_fdisk_compact (fd);
if (ret)
<font color='#000088'>+ {
+ rtems_disk_delete (dev);
+ rtems_semaphore_delete (fd->lock);
+ free (fd->copy_buffer);
+ free (fd->blocks);
+ free (fd->devices);
</font> rtems_fdisk_error ("compacting of disk failed: %s (%d)",
strerror (ret), ret);
<font color='#000088'>+ }
</font> }
rtems_flashdisk_count = rtems_flashdisk_configuration_size;
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>ccj</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>Whitespace clean up.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libcsupport/src/libio_init.c.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>cpukit/libcsupport/src/libio_init.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/libcsupport/src/libio_init.c:1.4 rtems/cpukit/libcsupport/src/libio_init.c:1.5
--- rtems/cpukit/libcsupport/src/libio_init.c:1.4 Tue Sep 15 04:49:52 2009
+++ rtems/cpukit/libcsupport/src/libio_init.c Thu May 13 23:04:25 2010
</font><font color='#997700'>@@ -61,9 +61,9 @@
</font> rtems_fatal_error_occurred(RTEMS_NO_MEMORY);
iop = rtems_libio_iop_freelist = rtems_libio_iops;
<font color='#880000'>- for (i = 0 ; (i + 1) < rtems_libio_number_iops ; i++, iop++)
- iop->data1 = iop + 1;
- iop->data1 = NULL;
</font><font color='#000088'>+ for (i = 0 ; (i + 1) < rtems_libio_number_iops ; i++, iop++)
+ iop->data1 = iop + 1;
+ iop->data1 = NULL;
</font> }
/*
</pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>